网络编程
位置:首页>> 网络编程>> Asp编程>> 提高ASP性能的最佳选择第二部分(2)

提高ASP性能的最佳选择第二部分(2)

 来源:csdn 发布时间:2007-08-15 12:46:00 

标签:ASP,提高性能,缓冲器,注释,包含文件

使用Option Explicit 会使性能有实质改变吗?

  在一个ASP页面的顶部设置Option Explicit 以要求所有的变量在使用之前都要在页面上进行声明。这有两个原因。首先应用程序可以更快地处理变量的存取。其次,这样可以防止我们无意中错用变量的名字。在这个测试中我们移走Option Explicit 引用和变量的Dim 声明。

  基准值 = 5.57 msec/page
   反应时间= 6.12 msec/page
   差 = +0.55 msec (9.8% 增加)、

  尽管有一些代码行从页面中去掉了,反应时间却依然增加了。所以尽管使用Option explicit 有时候费时间,但是在性能上却有很显著的效果。因此我们又可以增加一条规则:在VBScript中总是使用Option explicit。

是否应该把脚本逻辑放在子程序和函数区?

  用函数和子程序来组织和管理代码是一个很好的方法,特别是当一个代码区在页面中多次使用的情况。缺点是要在系统上增加一个做相同工作的额外函数调用。子程序和函数的另一个问题是变量的范围。从理论上说,在一个函数区内指定变量更有效。现在我们看看这两个方面如何发生作用。

  将Response.Write 语句移入子程序

  这个测试只是将Response.Write 语句移入一个子程序区内。



   CALL writeTable()
   SUB writeTable()
   Response.Write("< html >" & _
    "< head >" & _
   …
    "< tr >< td >< b >EMail:< /b >< /td >< td >" & EMail & "< /td >< /tr >" & _
   "< tr >< td >< b >Birth Date:< /b >< /td >< td >" & BirthDate & "< /td >< /tr >" & _
   "< /table >" & _
   "< /body >" & _
    "< /html >")
   END SUB


/app2/function1.asp片段

  基准值= 5.57 msec/page
   反应时间= 6.02 msec/page
   差 = +0.45 msec (8.1% 增加)

  同预料中一样,子程序调用给页面带来了额外的负担。

  将所有脚本移入子程序中

  在这个测试中,Response.write 语句与变量声明都移入一个子程序区中。


< % OPTION EXPLICIT
   CALL writeTable()
   SUB writeTable()
   Dim FirstName
   …
    Dim BirthDate
   FirstName = "John"
   …
   BirthDate = "1/1/1950"
   Response.Write("< html >" & _
   "< head >" & _
   " < title >Response Test< /title >" & _
   "< /head >" & _
   "< body >" & _
   "< h1 >Response Test< /h1 >" & _
   "< table >" & _
   "< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /tr >" & _
    …
   "< tr >< td >< b >Birth Date:< /b >< /td >< td >" & BirthDate & "< /td >< /tr >" & _
   "< /table >" & _
   "< /body >" & _
   "< /html >")
   END SUB


/app2/function2.asp片段

  基准值= 5.57 msec/page
   反应时间= 5.22 msec/page
   差 = -0.35 msec (6.3% 降低)

  非常有趣!尽管将变量移到函数范围内增加了额外的函数调用,但实际上却提高了性能。我们又可以增加以下规则:

  * 在一个页面上,如果代码要使用一次以上,就将代码封入函数区。
   * 适当时候,将变量声明移到函数范围内。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com