程式修改之前, 資料 979到987 就需要花掉1秒中,
即1秒只能處理 9筆資料.
程式修改之前, 第1秒可以處理 93筆資料,
由於字串變大而且重覆相加造成效能變差.
在不修改架構的情況下, 只修改字串相加的地方改用字串物件,
第1秒可以處理到 141筆資料, 而且對於後續資料處理的速度滿固定的,
每秒都可以處理 140筆左右.
修改架構, 不透過 function 傳回字串, 而是所有的程式存取同一個字串物件,
處理速度可以到1秒 208筆資料, 原本處理60秒才能跑完的 988筆資料,
修改後5秒內可以跑完.
使用 Asp String Builder Object 來處理, ASP的程式範例:
dim oString
Set oString = New ASPStringBuilder
oString.Append "要相加的字串內容"
myString = oString.ToString()set oString = nothing
在 asp 改用 .net 的StringBuilder 來處理, 速度上差不多, 也是5秒內跑完:
心得:
字串處理, 的問題應該解決了, 要克服其他的(程式流程或寫法), 才能讓反應速度再上去...
使用.net 的StringBuilder 來處理, ASP的程式範例:
dim oString
Set oString = Server.CreateObject("Max.StringBuilderObject")
oString.Append "要相加的字串內容"
myString = oString.ToString()set oString = nothing
相關文章:
A Fast String Builder Class For Classic ASP
字串物件 source code 下載:
google keyword:
classic asp stringbuilder
附註:
應該有其他更好的解決辦法....
沒有留言:
張貼留言