一直以来对asp的程序编写都比较随意,也没有太多考虑运行效率的问题。asp对语法是相当宽容的,容错性很高,它不需要定义变量便可直接使用,变量名不需要区分大小写字母,asp的文件名也同样不像jsp那样对字母大小写是敏感的。因此,在我接触那么多种语言当中,asp是最不严格的一种,是对程序员要求最低的一种。
昨天测试了asp.net、php和asp的运行速度比较,今天又来冲动,想看看定义变量与不定义变量对asp运行效率的影响有多大,结果令人惊讶,asp程序定义变量比不定义变量速度快一倍!
测试程序还是昨天那个,运行一千万次for循环,获得执行时间。
1、程序没有定义变量(dim i)
<%
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "页面执行时间:" & 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 "页面执行时间:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
程序各执行5次(第一次执行除外),然后取平均值。如下为测试结果:
定义变量 | 执行时间 | 平均时间 | ||||
否 | 1890ms | 1859ms | 1844ms | 1875ms | 1859ms | 1865ms |
是 | 890ms | 890ms | 984ms | 875ms | 890ms | 905ms |
从以上测试结果看出,定义变量比不定义变量,asp的执行速度快了一倍。
至于为什么会这样,本人也没有更进一步深入研究了。不过通过这个实例,让我确实感受到规范编程才能让程序运行得更高效。对于不规范的编程,语言本身虽然具有容错性,但其分析过程是需要时间为代价的。当然了,对于一个简单的程序来说,也许规范与不规范它们所耗时间的差别是微乎其微的,但是如果你开发的系统比较大,页面多,函数调用也多,那么规范与不规范它们所耗时间的差别就会凸显出来了,少则1、2倍,多则几十倍都不足奇。
☉测试发现:.net运行速度比php快70倍 比asp快39倍 (2012-5-15 23:13:55)
☉asp生成utf-8格式文件 (2010-1-12 6:48:39)
☉客户端excel表如何导入远程sql server服务器(asp) (2009-9-12 23:51:46)
☉asp执行ping命令 (2009-9-6 22:49:2)
☉ASP HTTP组件下载、简单介绍、属性方法及使用范例【全】 (2009-8-3 1:40:45)
☉最简单的asp中调用存储过程的实例 (2009-8-1 11:41:50)
☉测试空间是否支持XMLHTTP组件 (2009-7-13 23:8:17)
☉测试空间是否支持ADODB.STREAM的方法 (2009-7-12 12:52:16)
☉asp获取网页源代码并处理乱码的方法 (2009-7-11 22:15:34)
跑步机价格 的最新文章:优步跑步机怎么样去哪买比较好
口清365博客 的最新文章:吃黄瓜粥来治口气口臭
毕晓雅护肤博客 的最新文章:请保养好您的第二张“脸”
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。