Performance: 100 iterations in .28 seconds
Function DictRandom(byval strKey)
Dim aItem
If d_Country.Exists(strKey) Then
aItem = d_Country.Item(strKey)
DictRandom = aItem(COUNTRY_NAME)
End If
End Function
Figure B ArrayFetch
Performance: 100 iterations in 1.30 seconds
Function ArrayRandom(byval strKey)
Dim intCounter
Dim aCountry
aCountry = Application("a_Country")
For intCounter = 0 to Ubound(aCountry,2)
If aCountry(COUNTRY_CODE, intCounter) = strKey Then
ArrayRandom = aCountry(COUNTRY_NAME, intCounter)
Exit For
End If
Next
End Function
Figure C DictionarySelectLoad
Performance: 10 iterations in .36 seconds
Sub DictSequence()
Dim i
Dim aItem
Dim dicItems
dicItems = d_Country.Items
Response.write "<form><Select>"
For i = 0 To d_Country.Count - 1
aItem = dicItems(i)
Response.Write "<Option Value=" & _
aItem(0) & ">" & aItem(1) & "<br>"
Next
Response.write "</Select></form>"
End Sub
Figure D ArraySelectLoad
Performance: 10 iterations in .16 seconds
Sub ArraySequence()
Dim i
Dim aCountry
aCountry = Application("a_Country")
Response.write "<form><Select>"
For i = 0 to Ubound(aCountry, 2)
Response.Write "<Option Value=" & _
aCountry(0, i) & ">" & aCountry(1, i) & "<br>"
Next
Response.write "</Select></form>"
End Sub
Figure E ASPTime.dll
X times | 1 | 2 | 3 | 4 | 5 | |
Row Fills (seq) | dictionary | 10 | 11 | 13 | 16 | 19 |
array | 1 | 2 | 1 | 2 | 3 | |
Retrieval (seq) | dictionary | 8 | 15 | 21 | 31 | 37 |
array | 1 | 1 | 2 | 1 | 2 | |
Retrieval (random) | dictionary | 7 | 16 | 22 | 32 | 37 |
array | 156 | 273 | 411 | 541 | 675 | |
Retrieval (random) | dictionary | 579 | 582 | 646 | 588 | 868 |
deepwide recordset | array | 24613 | 42221 | too long | too long | too long |