繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 性能优化 >> asp性能测试第二部分(转)(十一)

asp性能测试第二部分(转)(十一)

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:28  文字大小:【】【】【
简介:十一、用临时字符串收集输出是一种好方法吗? 这个问题来自对本人最近一篇文章的建议。问题的核心是缓冲的使用,以及是否可以使用临时字符串收集Response.Write的输出,从而使得Response.Write只需调用一次即可...

十一、用临时字符串收集输出是一种好方法吗?

这个问题来自对本人最近一篇文章的建议。问题的核心是缓冲的使用,以及是否可以使用临时字符串收集Response.Write的输出,从而使得Response.Write只需调用一次即可。为测试这个问题,我们修改了ADO_11.asp,在循环中不是每次都用Response.Write输出,而是把输出附加到一个字符串的末尾,在全部记录处理完毕后调用Response.Write输出这个字符串(STR__01.asp):

Dim strTable

strTable = ""

'write headings

strTable = strTable & "< TABLE BORDER=1 >< TR >"

For i = 0 to fldCount-1

strTable = strTable & "< TH >" & fld(i).name & "< /TH >"

Next

strTable = strTable & "< /TR >"

'write data

Do While Not objRS.EOF

strTable = strTable & "< TR >"

For i = 0 to fldCount-1

strTable = strTable & "< TD >" & fld(i) & "< /TD >"

Next

strTable = strTable & "< /TR >"

objRS.MoveNext

Loop

For i = 0 to fldCount-1

Set fld(i) = Nothing

Next

strTable = strTable & "< /TABLE >"

Response.Write(strTable)

  

   这个结果不能令人满意。或许我们应该象有些人建议的那样,先用Space函数为字符串分配一些空间,使得程序不必在每次循环的时候再分配空间(STR__02.asp):

Dim strTable

strTable = Space(10000)

  

   看来Space函数并不象有些人建议的那样工作。我们得到的最后一个规则为:

不要使用临时字符串收集输出。

责任编辑:admin
相关文章