loop[nnnnn].aspx
<script language=vb runat=server> Public Function Responseloop[nnnnn]() Response.Write("loop[nnnnn]<br>") End Function </script> <% Responseloop[nnnnn]() %> <!-- #include virtual = "loop[nnnnn+1].aspx" -->
圖 4 測試電腦作業系統為 Windows XP SP2,配備為 P4 1.6G/384 MB,在測試電腦中 n 介於 4,650 ~ 4,800 間,但是大量引用檔案下,在動態編譯時非常耗損記憶體,在測試 n=4,650 時,編譯時期記憶體使用量暴增 460 MB 左右 (aspnet_wp.exe),與原先開機中執行其他程式使用記憶體約 400 MB 相加後,達到測試電腦虛擬記憶體上限,或許在等級更高的電腦中,可以再稍加擴增深度。在測試 n=4,800 時,此時記憶體尚未達到上限,即跳出圖 5 的錯誤,並且 ASP.NET 之服務程式 (aspnet_wp.exe) 會發生異常終止,並將錯誤訊息寫入事件簿後重新啟動 ASP.NET 服務程式,因此可以推定在 ASP.NET 1.1 下,最大深度不超過 4,800。
圖 5 (註:圖中被人工遮罩之文字字串為本機電腦名。) 原則上深度超過 10 以上來說,對於一般人思考邏輯能力是較高的挑戰,一般程式設計也不會將深度無限制擴增,多半深度仍在 10 以內,故目前測試最大深度超過 4,650,對絕大多數的管理與維護而言,已遠超過設計需求。
本文討論動態共用原始碼可對中大型系統設計與管理維護提供另一方向,平時運用可考慮以網頁系統設計師為主,散佈或結案時依委託契約要求,而採原始碼或DLL檔交付,在多系統共用原始碼的情況下,亦可減少原始碼開發成本,提升原始碼管理與維護的能量,個人或開發小組所創建的類別程式庫或函數程式庫均可採用此方法管理維護,達到快速開發網頁系統的目的。
|