<% 'vbs版高速字符串操作代碼演示 '淮南子編寫 Option explicit Dim StrTime,EndTime Dim MyString,MyArray,ArrayIndexCount,CurIndex Const TestNumber = 9999 '循環次數 StrTime = Timer() '============測試開始============ '代碼執行效率 '本人機器配置: 'CPU: 酷睿雙核2250 CPU頻率:1.73G '內存: 1GB '請逐一開啟方法進行測試 'StringLinkTest1() '性能最差,大約耗時20秒 'StringLinkTest2() '性能大大改善,大約耗時0.2秒 'StringArrayTest() '性能最佳,大約耗時0.06秒 '============測試結束============ '輸出結果 'Response.Write MyString EndTime = Timer() Response.Write "耗時:" & FormatNumber((EndTime-StrTime) * 1000,3) & " 毫秒" '字符串操作函數,淮南子原創 Sub Add(Value) If (CurIndex >= ArrayIndexCount) Then ArrayIndexCount = CurIndex * 1.1 '如果欲添加項超出數組下標,則將數組容量擴增百分之10 ReDim Preserve MyArray(ArrayIndexCount) End If MyArray(CurIndex) = Value CurIndex = CurIndex + 1 End Sub '測試方法 '使用數組進行字符串疊加,在所有方法中,該方法性能最佳(效率較StringLinkTest2()的方法提升了近4倍) Sub StringArrayTest() ArrayIndexCount = 20 CurIndex = 0 ReDim MyArray(ArrayIndexCount) Dim i For i = 0 to TestNumber Add "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" Next MyString = Join(MyArray,"") End Sub '測試方法1 '常規的字符串連接 Sub StringLinkTest1() Dim i,str dim a1 a1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" For i=0 to TestNumber '常規字符串連接 Str=(Str&a1) Next MyString = Str End Sub '測試方法2 '在常規的字符串連接方式中,使用臨時變量來提速 ,效率較StringLinkTest1()的方法提升了近100倍 Sub StringLinkTest2() Dim i,str,a1,TmpString a1 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" For i=0 to TestNumber '使用臨時變量提速 TmpString = (TmpString & a1) '每二百次則進行一次累計 If i mod 200 = 0 Then '保存臨時變量值 Str = (Str & TmpString) '清空臨時變量值 TmpString = "" End If Next if TmpString<>"" Then MyString = (Str & TmpString) End Sub %>