程序运行速度试验结果:
1。作相同的分支条件判断:IF 比 SELECT慢。
用以下程序测试:
<%
dim tttt1,ttt2
session("ii")=0
for sn=0 to 5
ttt1=now()
for i=0 to 300000
if session("ii")=0 then
session("ii")=1
else
if session("ii")=1 then
session("ii")=2
else
if session("ii")=2 then
session("ii")=3
else
session("ii")=0
end if
end if
end if
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
for sn=0 to 5
ttt1=now()
for i=0 to 300000
select case session("ii")
case 0
session("ii")=1
case 1
session("ii")=2
case 2
session("ii")=3
case 3
session("ii")=0
end select
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
%>
2, 如果把上例中的SESSION对象改为用普通的变量存。速度会快差不多8倍
3,进行字符串连接时往中间加入相同多的字符串,基数越大,越慢。
通过下面的程序测试:
<%
dim tttt1,ttt2
session("ii")=0
for sn=0 to 5
ttt1=now()
' txt=""
for i=0 to 10000
txt="a"&txt
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
%>
进行同样长字节的字符连接时,汉字比英文快4倍,通过下面的程序测试
<%
dim tttt1,ttt2
for sn=0 to 5
ttt1=now()
txt=""
for i=0 to 20000
txt="人"&txt
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
txt=""
for sn=0 to 5
ttt1=now()
txt=""
for i=0 to 20000
txt="aa"&txt
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
%>
用FOR 循环比DO WHILE循环要快得多,用下面的程序测试,虽然FOR循环中要多一个变量,
<%
dim tttt1,ttt2
for sn=0 to 5
ttt1=now()
i=0
do while i<=100000
i=i+1
loop
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
for sn=0 to 5
ttt1=now()
ii=0
for i=0 to 100000
ii=ii+1
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&"<br>"
next
%>
定义5000个一个字符的SESSION并不比定义5000个有5000个字符串长的SESSION少花很多时间,两者时间差仅为近一倍,用一秒多钟。倒是生成这个5000个字符长的变量花了不少的时间,<%
dim tttt1,ttt2
c="a"
for sn=0 to 5
session.abandon
ttt1=now()
for i=0 to 5000
session("s"&i)=c
next
ttt2=now()
tou=ttt2-ttt1
Response.Write sn&"、"&tou*24*60*60&":"&session("s"&i-1)&"<br>"
next
for i=0 to 5000
c="