明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

asp性測能試報告(轉(zhuǎn))(8)

[摘要]使用過程和函數(shù)對于代碼的組織和維護(hù)有著很大的好處,特別是頁面中部分代碼需要多次使用的時候。不過此時為了完成相同的處理任務(wù)要多出一次函數(shù)(或過程)的調(diào)用,這是它的缺點。從理論上看,函數(shù)塊內(nèi)的變量具有更好的效率。下面我們來看看這兩個問題的測試結(jié)果。 8.1 將Response.Write語句移入子過...

使用過程和函數(shù)對于代碼的組織和維護(hù)有著很大的好處,特別是頁面中部分代碼需要多次使用的時候。不過此時為了完成相同的處理任務(wù)要多出一次函數(shù)(或過程)的調(diào)用,這是它的缺點。從理論上看,函數(shù)塊內(nèi)的變量具有更好的效率。下面我們來看看這兩個問題的測試結(jié)果。

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片斷

基準(zhǔn) = 5.57 毫秒/頁
響應(yīng)時間 = 6.02 毫秒/頁
差額 = +0.45 毫秒 (增加8.1%)




和預(yù)期的一樣,子過程調(diào)用增加了額外的頁面處理負(fù)擔(dān)。

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片斷

基準(zhǔn) = 5.57 毫秒/頁
響應(yīng)時間 = 5.22 毫秒/頁
差額 = -0.35 毫秒 (減少6.3%)




雖然仍舊有著附加的函數(shù)調(diào)用,把變量聲明放到函數(shù)內(nèi)部居然使性能增加到超過基準(zhǔn),這是一個值得關(guān)注的結(jié)果!我們得到了如下規(guī)則:

如果頁面中部分代碼要使用一次以上,用函數(shù)封裝它們。
如果合適的話,把變量聲明也移到函數(shù)里面。
(出處:熱點網(wǎng)絡(luò))