was ist schneller?

  • guten tag

    da ich viele sachen berechnen will wollte ich fragen was schneller beim berechnen ist, oder ob es gleich schnell ist, oder gibt es eine besser art?

    [autoit]

    1.
    Func _Test($Test)
    If $Test = 1 Then
    For $i = 0 To 10000
    If ... = ... Then Return True
    Next
    ElseIf $Test = 2 Then
    For $i = 0 To 10000
    If ... = ... Then Return True
    Next
    EndIf
    EndFunc
    2.
    Func _Test($Test)
    For $i = 0 To 10000
    If $Test = 1 Then
    If ... = ... Then Return True
    ElseIf $Test = 2 Then
    If ... = ... Then Return True
    EndIf
    Next
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von gem (18. September 2011 um 22:00)

  • Prinzipiell: Im 1. Beispiel hast du 1 If-Statement und 10.000 Schleifendurchgänge (die inneren If-Then nicht mitgerechnet).
    Im 2. Hast du 10.000 Schleifendurchgänge und 10.000 If-Statements. Reicht das als Hinweis?

    Dafür hast du im 1. Beispiel wahrscheinlich Code-Verdopplung.
    Ansonsten handelt es sich hier um eine Interpretersprache wo manchmal noch ganz andere Sachen die Performance beeinflussen.
    Eine sichere Aussage was schneller sein wird ist da bisschen schwierig.
    Allerdings hättest du auch schnell beides mal schreiben können und mal eine Zeitmessung machen können anstatt nur theoretisch zu überlegen.

    Einmal editiert, zuletzt von AspirinJunkie (18. September 2011 um 17:10)

  • Also die If Statements 10.000 mal durchgehen lassen schluckt deutlich mehr, und die For-Schleife ist in AutoIt schon recht langsam ...
    1. Ist schneller,

    aber sonst schließe ich mich dem (Apsirin)Junkie an ^^

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal