asp程序定義變量比不定義變量速度快一倍
更新時間:2012年07月31日 16:51:15 作者:
一直以來對asp的程序編寫都比較隨意,也沒有太多考慮運(yùn)行效率的問題。asp對語法是相當(dāng)寬容的,容錯性很高,它不需要定義變量便可直接使用,變量名不需要區(qū)分大小寫字母,asp的文件名也同樣不像jsp那樣對字母大小寫是敏感的
因此,在我接觸那么多種語言當(dāng)中,asp是最不嚴(yán)格的一種,是對程序員要求最低的一種。
昨天測試了asp.net、php和asp的運(yùn)行速度比較,今天又來沖動,想看看定義變量與不定義變量對asp運(yùn)行效率的影響有多大,結(jié)果令人驚訝,asp程序定義變量比不定義變量速度快一倍!
測試程序還是昨天那個,運(yùn)行一千萬次for循環(huán),獲得執(zhí)行時間。
1、程序沒有定義變量(dim i)
<%
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "頁面執(zhí)行時間:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
2、程序定義了變量(dim i)
<%
dim i
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "頁面執(zhí)行時間:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
程序各執(zhí)行5次(第一次執(zhí)行除外),然后取平均值。如下為測試結(jié)果:
從以上測試結(jié)果看出,定義變量比不定義變量,asp的執(zhí)行速度快了一倍。
至于為什么會這樣,本人也沒有更進(jìn)一步深入研究了。不過通過這個實例,讓我確實感受到規(guī)范編程才能讓程序運(yùn)行得更高效。對于不規(guī)范的編程,語言本身雖然具有容錯性,但其分析過程是需要時間為代價的。當(dāng)然了,對于一個簡單的程序來說,也許規(guī)范與不規(guī)范它們所耗時間的差別是微乎其微的,但是如果你開發(fā)的系統(tǒng)比較大,頁面多,函數(shù)調(diào)用也多,那么規(guī)范與不規(guī)范它們所耗時間的差別就會凸顯出來了,少則1、2倍,多則幾十倍都不足奇。
昨天測試了asp.net、php和asp的運(yùn)行速度比較,今天又來沖動,想看看定義變量與不定義變量對asp運(yùn)行效率的影響有多大,結(jié)果令人驚訝,asp程序定義變量比不定義變量速度快一倍!
測試程序還是昨天那個,運(yùn)行一千萬次for循環(huán),獲得執(zhí)行時間。
1、程序沒有定義變量(dim i)
復(fù)制代碼 代碼如下:
<%
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "頁面執(zhí)行時間:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
2、程序定義了變量(dim i)
復(fù)制代碼 代碼如下:
<%
dim i
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "頁面執(zhí)行時間:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
程序各執(zhí)行5次(第一次執(zhí)行除外),然后取平均值。如下為測試結(jié)果:
| 定義變量 | 執(zhí)行時間 | 平均時間 | ||||
| 否 | 1890ms | 1859ms | 1844ms | 1875ms | 1859ms | 1865ms |
| 是 | 890ms | 890ms | 984ms | 875ms | 890ms | 905ms |
從以上測試結(jié)果看出,定義變量比不定義變量,asp的執(zhí)行速度快了一倍。
至于為什么會這樣,本人也沒有更進(jìn)一步深入研究了。不過通過這個實例,讓我確實感受到規(guī)范編程才能讓程序運(yùn)行得更高效。對于不規(guī)范的編程,語言本身雖然具有容錯性,但其分析過程是需要時間為代價的。當(dāng)然了,對于一個簡單的程序來說,也許規(guī)范與不規(guī)范它們所耗時間的差別是微乎其微的,但是如果你開發(fā)的系統(tǒng)比較大,頁面多,函數(shù)調(diào)用也多,那么規(guī)范與不規(guī)范它們所耗時間的差別就會凸顯出來了,少則1、2倍,多則幾十倍都不足奇。
相關(guān)文章
ASP checkbox復(fù)選框是否被選中的代碼(結(jié)合數(shù)據(jù)庫)
ASP從數(shù)據(jù)庫中讀出復(fù)選框是否被選中的代碼2010-06-06
asp+Access通用的自動替換數(shù)據(jù)庫中的字符串
幾年前寫的一個腳本,可以自動進(jìn)行整庫的數(shù)據(jù)替換。2008-06-06
JScript中調(diào)用ActiveX獲取訪客網(wǎng)卡MAC地址實現(xiàn)代碼
這篇文章主要介紹了JScript中調(diào)用ActiveX獲取訪客網(wǎng)卡MAC地址實現(xiàn)代碼,注意本文代碼只適應(yīng)運(yùn)行在IE瀏覽器上,需要的朋友可以參考下2014-08-08

