Einzelnen Beitrag anzeigen

areyoudoneyet

Registriert seit: 25. Apr 2023
18 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Geschwindigkeitsunterschiede Apple Sillicon / Intel Win32 / Win64

  Alt 18. Jun 2023, 16:41
Das hängt aber auch sehr vom konkreten System ab. Bei mir (i5-8600k) braucht Win32 ca. 1400 Millisekunden und Win64 ca. 1600 bzw. im Release 1300 vs. 400. Da ist der Unterschied geringer. Generell ist die Optimierung beim 64-Bit Compiler oft besser.
Verstehe

Code:
var
  counter: integer;
  startTime, endTime: TDateTime;
  timeTaken: Double;
begin
  counter := 1;
  startTime := Now; // Startzeit aufzeichnen

  asm
    mov ecx, counter
  @loop_start:
    inc ecx
    cmp ecx, 100000000
    jle @loop_start
    mov counter, ecx
  end;
  endTime := Now;
  timeTaken := MilliSecondSpan(startTime, endTime);
  ShowMessage(FloatToStr(timeTaken) + ' ms');
end;
jetzt nur noch ca. 50 ms für win32


Code:

procedure TForm1.Button1Click(Sender: TObject);
var
   counter:integer;
  startTime, endTime: TDateTime;
  timeTaken: Double;
begin
   counter := 0;
  startTime := Now; // Startzeit aufzeichnen
  while counter <= 100000000 do
    inc(counter);
  endTime := Now; // Endzeit aufzeichnen
  timeTaken := MilliSecondSpan(startTime, endTime); // Berechnung der benötigten Zeit in Millisekunden
  ShowMessage(FloatToStr(timeTaken) + ' ms'); // Zeigt die benötigte Zeit in Millisekunden an

end;
Ich habe jetzt mal den inc versucht. ist egal ob auf mac oder win immer bei ca. 30-60 ms.

d.h. für mich falls ich etwas Inkrementieren muss sollte ich "inc" verwenden anstelle "x := x+1;"

ich find das echt Interresant Dachte für mich immer... das ist doch das gleiche...

Geändert von areyoudoneyet (18. Jun 2023 um 16:51 Uhr)
  Mit Zitat antworten Zitat