Delphi 11.3 Alexandria, Build Release (Standardeinstellungen), Prozessor Intel(R) Core(TM) i5 3.20GHz
Delphi-Quellcode:
uses
mormot.core.base,
mormot.core.perf;
const
RUN_COUNT = 1000000000;
var
timer: TPrecisionTimer;
begin
timer.Start;
var sum: Int64 := 0;
for var i: Integer := 1 to RUN_COUNT do
// sum := sum + 1;
Inc(sum);
ShowMessage(Format('Laufzeit: %s (%d us), Summe: %d', [timer.Stop, timer.StopInMicroSec, sum]));
Plattform | Laufzeit: Inc(sum) | Laufzeit: sum := sum + 1 |
32 Bit | 1.82s (1822103 us) | 1.69s (1693918 us) |
64 Bit | 294.65ms (294654 us) | 294.85ms (294857 us) |
Verwende ich
sum in der Ausgabe (ShowMessage) nicht, sehen die Ergebnisse für 32-Bit so aus:
Plattform | Laufzeit: Inc(sum) | Laufzeit: sum := sum + 1 |
32 Bit | 294.92ms (294925 us) | 1.68s (1688951 us) |
Die Werte für 64-Bit ändern sich nicht.
Alle Messwerte in mehreren Durchläufen verifiziert.
Bis bald...
Thomas