ASP (VBScript) does string concatenation (joining) with the ampersand (&). It’s a bad performer. I’ve heard that for years. I never really understood how or why.
Marcus Tucker exposes why in the best description of the issue I’ve read.
And since I’ll probably use this again somewhere, here’s his String Concatenation class.
'------------------------------------------- 'String concatenation class (using an array) '------------------------------------------- 'Written by Marcus Tucker, July 2004 'http://marcustucker.com '------------------------------------------- Class StrConCatArray Private StringCounter Private StringArray() Private StringLength 'called at creation of instance Private Sub Class_Initialize() StringCounter = 0 InitStringLength = 128 ReDim StringArray(InitStringLength - 1) StringLength = InitStringLength End Sub Private Sub Class_Terminate() Erase StringArray End Sub 'add new string to array Public Sub Add(byref NewString) StringArray(StringCounter) = NewString StringCounter = StringCounter + 1 'ReDim array if necessary If StringCounter MOD StringLength = 0 Then 'redimension ReDim Preserve StringArray(StringCounter + StringLength - 1) 'double the size of the array next time StringLength = StringLength * 2 End If End Sub 'return the concatenated string Public Property Get Value Value = Join(StringArray, "") End Property 'resets array Public Function Clear() StringCounter = 0 Redim StringArray(InitStringLength - 1) StringLength = InitStringLength End Function End Class