Performance Switch & If

  • Wie man an diesem Beispiel sehen kann ist Switch schneller als IF^^

    [autoit]

    Global $google=3,$dada
    $init=TimerInit()
    For $i=0 To 20000 Step +1
    Switch $google
    Case 1
    $dada=""
    Case 2
    $dada=""
    Case 3
    $dada=""
    EndSwitch
    Next
    Msgbox(0,"Switch",TimerDiff($init))
    $init2=TimerInit()
    For $i=0 To 20000 Step +1
    If $google=1 Then
    $dada=""
    Elseif $google= 2 Then
    $dada=""
    Elseif $google=3 Then
    $dada=""
    EndIf
    Next
    Msgbox(0,"If",TimerDiff($init2))

    [/autoit]
  • Bei mir bekam ich für 9000000 Schleifendurchläufe auf folgende Ergebnisse:

    Code
    Switch: 11221.509437652 Sec
    
    
    If: 21215.096890806 Sec

    Also braucht bei mir Switch gerade mal die Hälfte der Zeit von If.

  • Übrigens war Select in meinen Tests langsamer als If, das lohnt sich vor allem wenn man auf ContinueCase angewiesen ist ;)