|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
使用过程和函数对于代码的组织和维护有着很大的好处,特殊是页面中部分代码需要多次使用的时候。不过此时为了完成一样的处理任务要多出一次函数(或过程)的调用,这是它的缺点。从理论上看,函数块内的变量具有更好的效率。下面我们来看看这两个问题的测试结果。 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%) 虽然仍然有着附加的函数调用,把变量声明放到函数内部居然使性能增加到超过基准,这是一个值得关注的结果!我们得到了如下规则: 假如页面中部分代码要使用一次以上,用函数封装它们。 假如合适的话,把变量声明也移到函数里面。 返回类别: 教程 上一教程: Dictionary在权限治理中的应用 下一教程: 微软建议的ASP性能优化28条守则 您可以阅读与"asp性能测试报告(转)(八)"相关的教程: · asp性能测试报告(转)(二) · asp性能测试报告(转)(五) · asp性能测试报告(转)(六) · asp性能测试报告(转)(一) · asp性能测试报告(转)(四) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |