asp效能測試報告(轉)(八)

來源:互聯網
上載者:User
效能    使用過程和函數對於代碼的組織和維護有著很大的好處,特別是頁面中部分代碼需要多次使用的時候。不過此時為了完成相同的處理任務要多出一次函數(或過程)的調用,這是它的缺點。從理論上看,函數塊內的變數具有更好的效率。下面我們來看看這兩個問題的測試結果。

   8.1 將Response.Write語句移入子過程

   在這個測試中,我們只把Response.Write語句放到了子過程裡面。
...
CALL writeTable()

SUB writeTable()
     Response.Write("< html >" & _
          "< head >" & _
...
          "< tr >< td >< b >EMail:< /b >< /td >< td >" & EMail & "< /td >< /tr >" & _
          "< tr >< td >< b >Birth Date:< /b >< /td >< td >" & BirthDate & "< /td >< /tr >" & _
          "< /table >" & _
          "< /body >" & _
          "< /html >")
END SUB

/app2/function1.asp片斷

基  准 = 5.57 毫秒/頁
回應時間 = 6.02 毫秒/頁
差  額 = +0.45 毫秒 (增加8.1%)




   和預期的一樣,子程序呼叫增加了額外的頁面處理負擔。

   8.2 將所有指令碼移入子過程

   在這個測試中,Response.Write和所有的變數聲明都移到了子過程裡面。
< % OPTION EXPLICIT
CALL writeTable()

SUB writeTable()
     Dim FirstName
     ...
     Dim BirthDate
     FirstName = "John"
     ...
     BirthDate = "1/1/1950"
     Response.Write("< html >" & _
          "< head >" & _
          "     < title >Response Test< /title >" & _
          "< /head >" & _
          "< body >" & _
          "< h1 >Response Test< /h1 >" & _
          "< table >" & _
          "< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /tr >" & _
          ...
          "< tr >< td >< b >Birth Date:< /b >< /td >< td >" & BirthDate & "< /td >< /tr >" & _
          "< /table >" & _
          "< /body >" & _
          "< /html >")
END SUB

/app2/function2.asp片斷

基  准 = 5.57 毫秒/頁
回應時間 = 5.22 毫秒/頁
差  額 = -0.35 毫秒 (減少6.3%)




   雖然仍舊有著附加的函數調用,把變數聲明放到函數內部居然使效能增加到超過基準,這是一個值得關注的結果!我們得到了如下規則:

如果頁面中部分代碼要使用一次以上,用函數封裝它們。
如果合適的話,把變數聲明也移到函數裡面。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。