AutoIt 3.3.18.0 - bereits getestet?

  • Ja, läuft einwandfrei :)
    Meine Skripte sind aber nicht allzu komplex.

  • Mich hat vor allem der folgende Eintrag im Changelog interessiert:

    Zitat

    Added #3891: DllCall() performance optimisation.

    Was genau gemacht wurde steht da nicht und im verlinkten Ticket wird sich im Grunde auch ausgeschwiegen.
    Da steht nur "Internal optimisation to not allocate data at each DllCall".
    Das ist umso verwirrender, da im Ticket steht, dass dieses bereits in 3.3.16.1 umgesetzt wurde.

    Ich wollte daher mal herausfinden, was diese Änderung konkret ausmacht und habe mal verschiedene Szenarien für DllCall mit folgendem Skript getestet:

    Die Ergebnisse habe ich dann zwischen der Version 3.3.16.1 und 3.3.18.0 gegenübergestellt und erhielt folgendes Ergebnis:

    Einen wirklichen Performancesprung kann ich nicht erkennen. Die Unterschiede lassen sich nichtmal signifikant von der Messungenauigkeit trennen.
    Ich habe (da im Ticket ja steht, dass dieses bereits mit 3.3.16.1 umgesetzt wurde) auch mal die Version 3.3.14.0 dagegen gehalten.
    Aber auch da sieht das Ergebnis ziemlich gleich aus.

    Ich bin daher ziemlich ratlos was es mit der ominösen DllCall performance optimisation auf sich hat.

  • Ja das wäre eine mögliche Interpretation.
    Hab das auch gleich mal so getestet - aber auch das sehe ich kein relevantes Muster:

  • Ich denke im engl Forum posten mit direkter Ansprache an @JPM könnte Licht in die Dunkelheit bringen ;)

  • Ich konnte die Messung über ProcessSetPriority noch stabilisieren.
    Die Ergebnisse nun zeigen dann doch ein klares Bild: Die 3.3.18.0 ist tatsächlich immer ein paar Prozentpunkte der 3.3.16.1 voraus: