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倍,多则几十倍都不足奇。

(0)

相关推荐

  • 在ASP中使用均速分页法提高分页速度

    一.适用范围 均速分页法主要适用于文章系统,新闻系统等排序方法固定的ASP+ACCESS应用 二.特点说明 很多用过一些文章系统或是新闻系统的朋友知道,一般的文章系统或是新闻系统,在分类分页时,通常是通过读取数据库中满足条件的排序后数据,然后根据请求页号,通过定位操作,指向某条数据,并且开始读取这条数据后面的若干条数据作为一页.这种分页方法,原理简单,但是存在的问题是每次都需要把数据库中满足条件的排序后数据都读取出来,如果有两千条数据,这个还好,如果有两万条呢?显示,这会占用大量的内存,浪费很多

  • asp页面提高的访问速度的方法详解

    技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的.占用计算资源的过程.因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多.因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量.例如将代码写成下面的形式以加快脚本引擎处理速度: 复制代码 代码如下: strTitle=Request.Form("Title")strFirstName=Request.Form("FirstName&quo

  • 用GetString提高ASP的速度

    <%   'Create connection / recordset   'Populate data into recordset object   %>  <TABLE>  <% Do While not rs.EOF %>  <TR>  <TD ><%=rs("Field1")% ></TD>  <TD ><%=rs("Field2")% ></

  • 在ASP中使用均速分页法提高分页速度的方法

    均速分页法 一.适用范围 均速分页法主要适用于文章系统,新闻系统等排序方法固定的ASP+ACCESS应用 二.特点说明     很多用过一些文章系统或是新闻系统的朋友知道,一般的文章系统或是新闻系统,在分类分页时,通常是通过读取数据库中满足条件的排序后数据,然后根据请求页号,通过定位操作,指向某条数据,并且开始读取这条数据后面的若干条数据作为一页.这种分页方法,原理简单,但是存在的问题是每次都需要把数据库中满足条件的排序后数据都读取出来,如果有两千条数据,这个还好,如果有两万条呢?显示,这会占用

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

    因此,在我接触那么多种语言当中,asp是最不严格的一种,是对程序员要求最低的一种. 昨天测试了asp.net.php和asp的运行速度比较,今天又来冲动,想看看定义变量与不定义变量对asp运行效率的影响有多大,结果令人惊讶,asp程序定义变量比不定义变量速度快一倍! 测试程序还是昨天那个,运行一千万次for循环,获得执行时间. 1.程序没有定义变量(dim i) 复制代码 代码如下: <% dim startime startime=timer() for i = 1 to 10000000 n

  • [c++]变量声明与定义的规则详解

    声明与定义分离 Tips:变量能且仅能被定义一次,但是可以被多次声明. 为了支持分离式编译,C++将定义和声明区分开.其中声明规定了变量的类型和名字,定义除此功能外还会申请存储空间并可能为变量赋一个初始值. extern 如果想声明一个变量而非定义它,就使用关键字extern并且不要显式地初始化变量: extern int i; // 声明i而非定义i extern int i = 1; // 定义i, 这样做抵消了extern的作用 static 当我们在C/C++用static修饰变量或函数

  • Python判断变量是否已经定义的方法

    Python判断变量是否已经定义是一个非常重要的功能,本文就来简述这一功能的实现方法. 其实Python中有很多方法可以实现判断一个变量是否已经定义了.这里就举出最常用的两种作为示例,如下所示: 方法一:try except方法: def isset(v): try : type (eval(v)) except : return 0 else : return 1 用法: if isset('user_name'): print 'user_name is defined' else prin

  • linux shell自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu

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

    本文实例讲述了python检测某个变量是否有定义的方法.分享给大家供大家参考.具体如下: 第一种方法使用内置函数locals(): 'testvar'   in   locals().keys() 第二种方法使用内置函数dir(): 'testvar'   in   dir() 第三种方法使用内置函数vars(): vars().has_key('testvar') 测试如下: #testvar未定义 In [1]: 'testvar' in locals().keys() Out[1]: Fa

  • linux shell 自定义函数方法(定义、返回值、变量作用域)

    一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. return后跟数值n(0-255 实例(testfun1.sh): #!/bin/sh fSum 3 2; function fSum

  • iOS如何定义名为任意的变量详解

    前言 本文主要介绍了关于iOS定义名为任意的变量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 需求说明 在实际的编程过程中,我们总要定制一些控件,在定制的过程里,有时喜欢自己实现部分delegate方法 // MYScrollView.m - (instancetype)init { ... self.delegae = self; ... } - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSL

  • python 实现循环定义、赋值多个变量的操作

    exec函数,可以循环定义.赋值多个变量 exec ("temp%s=1"%1) 这段代码的意思是,让exec执行temp1=1.字符串里面的%s由'1'代替了. 我们在外面再套一个循环就可以实现对多个变量的定义了. for i in range(10): exec ("temp%s=1"%i) 在这里,通过一个循环来生成10个变量,i的变化从0到9.用变量i替代%s,所以在每次循环里面,分别给temp0.temp1.temp2--赋值为1. 如果想要替换多个占位符

  • ASP.NET Core 配置和使用环境变量的实现

    前言 通常在应用程序开发到正式上线,在这个过程中我们会分为多个阶段,通常会有 开发.测试.以及正式环境等.每个环境的参数配置我们会使用不同的参数,因此呢,在ASP.NET Core中就提供了相关的环境API,方便我们更好的去做这些事情. 环境 ASP.NET Core使用ASPNETCORE_ENVIRONMENT来标识运行时环境. ASP.NET Core预设环境 Development:开发环境 Staging:暂存环境(测试环境) Production:正式环境 要取得系统变量ASPNET

  • ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

    在上一篇小编向大家简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解.   函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值.我们可以这样理解,过程象一个完整的句子,而函数则象一个单词.举个例子,当你想获取某个数的平方根,你只要将该数传给 VBScript 的 Sqr() 函

随机推荐