加快asp.net运行的又一个发现

来源:互联网 发布:linux memmap 编辑:程序博客网 时间:2024/04/30 10:36

由于需要做模版替换,加上替换的内容很庞大,一个HTML文件竟然有3M。

开始是类似于这样做的

Dim Temps AS String=ReadSQLTemps   '读取模版资料

Dim HtmlTexts as string   '最后需要写入HTML的内容

这里有多条记录需要同时替换

for each b in a

HtmlTexts +=replace(Temps,"需要替换的文字","替换的值")

HtmlTexts +=replace(HtmlTexts ,"替换字2","替换值2")

......一次类推

next

运行下来后发现。总内容大概有3M,记录数有200多个,生成HTML的过程狂慢。而且是在本机测试。这肯定不能满足系统需求。

偶然的时候,突然想到。在做replace的时候,因为系统是要对HtmlTexts 做全面的逐字核对替换文字,所以当HtmlTexts的内容越多,他在执行replace时候耗费的资源越多。

后改成如下。

Dim TempHtmlTexts as string

for each b in a

TempHtmlTexts +=replace(Temps,"需要替换的文字","替换的值")

TempHtmlTexts  =replace(TempHtmlTexts  ,"替换字2","替换值2")

......以次类推

HtmlTexts +=TempHtmlTexts

TempHtmlTexts =nothing

next

发现这样一来,速度快了N倍啊。。