Kleine Profiling-UDF

    • Offizieller Beitrag

    Hi!

    Damit man schnell einen Überblick bekommen kann, welche Funktionen lange brauchen und damit optimiert weden sollten, habe ich mir gerade eine winzige UDF geschrieben.

    [autoit]

    #include-once
    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $__ProfilingStartTime
    Global $__ProfilingLastDiff

    [/autoit][autoit][/autoit][autoit]

    Func _ProfilingStart($__msg = "")
    $__ProfilingLastDiff = 0
    ConsoleWriteLine("PROFILING START" & _Iif($__msg = "", "", ": " & $__msg))
    $__ProfilingStartTime = TimerInit()
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _ProfilingPoint($__msg = "")
    ConsoleWriteLine("PROFILING POINT" & _Iif($__msg = "", "", ": " & $__msg))
    $__newProfilingLastDiff = TimerDiff($__ProfilingStartTime)
    ConsoleWriteLine(StringFormat("PART TIME: %.3f, TOTAL TIME %.3f", ($__newProfilingLastDiff - $__ProfilingLastDiff) / 1000, TimerDiff($__ProfilingStartTime) / 1000))
    $__ProfilingLastDiff = $__newProfilingLastDiff
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _ProfilingEnd($__msg = "")
    ConsoleWriteLine("PROFILING END" & _Iif($__msg = "", "", ": " & $__msg))
    ConsoleWriteLine(StringFormat("TOTAL RUNTIME: %.3fs", TimerDiff($__ProfilingStartTime) / 1000))
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func ConsoleWriteLine($__text)
    ConsoleWrite($__text & @CRLF)
    EndFunc

    [/autoit]

    Kommentare und Erweiterungen sind gerne gesehen :).

    peethebee