帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程 >
asp性能测试报告(转)(八)
作者: 发布时间:2005-03-12 来源:
使用过程和函数对于代码的组织和维护有着很大的好处,特别是页面中部分代码需要多次使用的时候。不过此时为了完成相同的处理任务要多出一次函数(或过程)的调用,这是它的缺点。从理论上看,函数块内的变量具有更好的效率。下面我们来看看这两个问题的测试结果。

8.1 将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 毫秒/页
响应时间 = 6.02 毫秒/页
差 额 = +0.45 毫秒 (增加8.1%)




和预期的一样,子过程调用增加了额外的页面处理负担。

8.2 将所有脚本移入子过程

在这个测试中,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 毫秒/页
响应时间 = 5.22 毫秒/页
差 额 = -0.35 毫秒 (减少6.3%)




虽然仍旧有着附加的函数调用,把变量声明放到函数内部居然使性能增加到超过基准,这是一个值得关注的结果!我们得到了如下规则:

如果页面中部分代码要使用一次以上,用函数封装它们。
如果合适的话,把变量声明也移到函数里面。
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·asp性能测试报告(转)(二)  (2005-03-12)
 ·asp性能测试报告(转)(三)  (2005-03-12)
 ·asp性能测试报告(转)(四)  (2005-03-12)
 ·asp性能测试报告(转)(五)  (2005-03-12)
 ·asp性能测试报告(转)(六)  (2005-03-12)
 ·asp性能测试报告(转)(七)  (2005-03-12)
 ·asp性能测试第二部分(转)(二)  (2005-03-12)
 ·asp性能测试第二部分(转)(三)  (2005-03-12)
 ·asp性能测试第二部分(转)(四)  (2005-03-12)
 ·asp性能测试第二部分(转)(五)  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·放眼未来 帝国近期将有重大举措!
·PHPWind6.3.2版通行证发布
·帝国备份王2008版正式发布
·帝国备份王2008版发布
·phpcms2007转帝国CMS5.0程序发布
·dedecms5.1转帝国CMS5.0程序发布
·帝国网站管理系统V5.0商业购买说明
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统