Code: Select all
; 1 Million 2 Million
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Preparing a long string 6 Sec 18 Sec
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Simple_Sort + 1/2 Sec + 1 Sec
; Simple_Object + 4 Sec + 8 Sec
; RegEx_Loop + 5 Sec + 11 Sec
; COM_Object + 6 Sec + 16 Sec
; OverKill_Function + 22 Sec + 52 Sec
Code: Select all
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Simple_Sort
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LoL := A_TickCount
Loop, 2000000
a .= "bb`ncc`naa`n"
Sort, a, U
MsgBox % a "`n`n"
. ( A_TickCount - LoL ) //1000 " Sec"
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Simple_Object
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LoL := A_TickCount
Loop, 2000000
a .= "bb`ncc`naa`n"
b := StrSplit( a, "`n" )
c := {}
For i in b
c.Insert( b[i], "")
For i in c
d .= i "`n"
MsgBox % d "`n`n"
. ( A_TickCount - LoL ) //1000 " Sec"
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; RegEx_Loop
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LoL := A_TickCount
Loop, 2000000
a .= "bb`ncc`naa`n"
Loop, Parse, a, `n
a := RegExReplace( a, A_LoopField "`n", "", "",, RegExMatch( a, A_LoopField ) + StrLen( A_LoopField ))
Msgbox % RegExReplace( a, "`n`n" ) "`n`n"
. ( A_TickCount - LoL ) //1000 " Sec"
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; COM_Object
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LoL := A_TickCount
Loop, 2000000
a .= "bb`ncc`naa`n"
b := StrSplit( a, "`n" )
c := ComObjCreate( "Scripting.Dictionary" )
For i in b
c.Item( b[i] )
For i in c
d .= i "`n"
MsgBox % d "`n`n"
. ( A_TickCount - LoL ) //1000 " Sec"
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; OverKill_Function ; Thanks for your efforts "FanaticGuru"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LoL := A_TickCount
Loop, 2000000
a .= "bb`ncc`naa`n"
MsgBox % RemoveDuplicate( a, "`n") "`n`n"
. ( A_TickCount - LoL ) //1000 " Sec"
Return