Verwende ich sum in der Ausgabe (ShowMessage) nicht, sehen die Ergebnisse für 32-Bit so aus:
Da sollte man sich wirklich den erzeugten Code genauer anschauen.
Sicher das der Compiler das
Inc(Sum)
nicht einfach wegoptimiert?
Ein schlauer Compiler könnte sogar die Schleife wegoptimieren
Inc(Sum, RUN_COUNT)
.
Wichtig ist sicher, ob der erzeugte Code für die Schleife vollständig in die Befehlswarteschlange des Prozessorkerns passt und die Sprungvorhersage richtig liegt.