asp程序定义变量比不定义变量速度快一倍

因此,在我接触那么多种语言当中,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倍,多则几十倍都不足奇。

时间: 2024-09-17 18:42:54

asp程序定义变量比不定义变量速度快一倍的相关文章

sysgen未定义-环境变量 sysgen 未定义

问题描述 环境变量 sysgen 未定义 开发Wince5.0的bootloader 下面的是前四步,我在第四步的时候出现问题:环境变量 sysgen 未定义.具体如下: 第一步:为自己的Bootloader创建一个目录 我的目录设置如下: C:WINCE500PLATFORMMyPlatformSrcBootloaderEboot 第二步:在Booloader文件夹下,创建一个.txt文本,里面输入: DIRS=/ eboot 保存,文本重命名为dirs 第三步:建立一个命令行生成shell以

python检测某个变量是否有定义的方法

  本文实例讲述了python检测某个变量是否有定义的方法.分享给大家供大家参考.具体如下: 第一种方法使用内置函数locals(): 'testvar' in locals().keys() 第二种方法使用内置函数dir(): 'testvar' in dir() 第三种方法使用内置函数vars(): vars().has_key('testvar') 测试如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #testvar未定义 In [1]: 'testva

指针-如何定义图中的这个变量?

问题描述 如何定义图中的这个变量? p++ 可以移动到下一个字符串. 105 解决方案 可以使用指针数组(指针数组中的每一个元素均为指针) #include<stdio.h> void main() { char *arr[3] = {"abcde", "1234", "42"}; char **p = &arr[0]; for(int i = 0; i < 3; i++, p++) printf("%s &q

变量定义-关于在循环中变量的定义问题

问题描述 关于在循环中变量的定义问题 在while或者do..while循环中,可以在循环中定义变量吗?我看书上是可以的,但这样不会出现定义重复吗? 解决方案 每次一个循环函数,变量就被释放了呃,它是局部变量. 解决方案二: 变量的定义和代码的运行是两回事.好比,你函数中定义了一个变量,你代码调用了2次这个函数,你可能认为变量定义会执行2次?实际上定义是给编译器看的,代码执行中定义变量的语句根本不会起作用. 解决方案三: 不同的语言是不一样的.有的语言变量的作用域就是函数,无论是否定义在循环中,

c++-在头文件里定义一个string name; 变量,编译报错

问题描述 在头文件里定义一个string name: 变量,编译报错 //Parent.h class Parent { public: Parent(void); ~Parent(void); private: string name; }; //main.cpp #include #include #include "Parent.h" using namespace std; void main() { system("pause"); } //Parent.

c++-C++中namespace的变量提示重复定义,为什么。

问题描述 C++中namespace的变量提示重复定义,为什么. 有三个文件:sale.h, sale.cpp, main.cpp sale.h中定义namespace SALES { int test; void func(void); } sale.cpp中接着完成namespace的函数定义 namespace SALES { void func(void) { ***** } } main.cpp的main函数之外,定义int test 编译结果是:编译器指示在sale.cpp中SALE

无需指定成员变量-VB2013中定义类型定义问题

问题描述 VB2013中定义类型定义问题 如何在VB2013中定义不需要指定成员变量就可以直接赋值的类型,例如 Dim Num as Integer Num = 100 在结构中如何具体实现 Friend Structure Num1 具体代码如何写End Structure 在自定义代码中具体写法: Dim Num as Num1Num = 100 谢谢了

引入DTD定义时jsp中的变量没有替换

问题描述 引入DTD定义时jsp中的变量没有替换 编写了一个简单的jsp页面,运行后发现页面中的${pageContext.request.contextPath}等变量没有替换为相应的值,而是被直接显示,查看tomcat为jsp生成的java文件,发现这些变量没有替换为获取变量的代码,而是被当做字符串了,对比了一下能够正常运行的工程,发现唯一的区别只是web.xml的头部多定义了一个DTD文件做校验,是maven的webapp模板生成的web.xml自动生成的,如下 <!DOCTYPE web

matlab-有未定义的变量,这类函数变量应该怎么定义?

问题描述 有未定义的变量,这类函数变量应该怎么定义? 这是需要绘制的函数 这是赋值.循环和绘图语句 纯新手,感谢大家帮助!~ 解决方案 这种问题就应该 RTFM(Read the Fucking Manual)我用Mathematica,Matlab 了解不多.