Code: Select all
NumLoops.i = 10000
For i = 1 To 2000: sBase.s + "one two three four five six seven eight nine end": Next i ;168kb
Time1 = ElapsedMilliseconds()
For i = 1 To NumLoops
sTest.s = sBase
Repeat
If FindString(sTest, " ") = 0: Break: EndIf
sTest.s = ReplaceString(sTest, " ", " ")
ForEver
Next i
Time2 = ElapsedMilliseconds()
MessageRequester("Done", "Time=" + Str(Time2-Time1) + #TAB$ + StrF((Time2-Time1)/NumLoops) + "ms/call")
Lnx-32-Asc: Time=21701 2.1700999737ms/call
Lnx-64-Asc: Time=21729 2.1728999615ms/call
Lnx-64-Uni: Time=23283 2.3282999992ms/call
OSX-64-Asc: Time=23788 2.3787999153ms/call
Win-64-Asc: Time=25514 2.5513999462ms/call
Lnx-32-Uni: Time=25701 2.5701000690ms/call
Win-64-Uni: Time=28893 2.8893001080ms/call
OSX-64-Uni: Time=32625 3.2625000477ms/call
Win-32-Uni: Time=34212 3.4212000370ms/call
Win-32-Asc: Time=84934 8.4933996201ms/call