AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Geschwindigkeitsunterschiede Apple Sillicon / Intel Win32 / Win64
Thema durchsuchen
Ansicht
Themen-Optionen

Geschwindigkeitsunterschiede Apple Sillicon / Intel Win32 / Win64

Ein Thema von areyoudoneyet · begonnen am 18. Jun 2023 · letzter Beitrag vom 21. Jun 2023
 
areyoudoneyet

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

Geschwindigkeitsunterschiede Apple Sillicon / Intel Win32 / Win64

  Alt 18. Jun 2023, 13:12
das ist bestimmt eine Anfänger Frage und eventuell den meisten Leuten klar weshalb folgendes, das ich gleich beschreibe so ist wie es ist.
Ich habe gestern ein kleines Tutorial Video von DelphiLernen auf Youtube angeschaut. Und das kleine Programm nachgebaut.

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  sum: Int64;
  StartTime, EndTime, ElapsedTime: Int64;
begin
  StartTime := MilliSecondOfTheDay(Now);

  sum := 0;
  for i := 1 to 1000000000 do
    sum := sum + 1;

  EndTime := MilliSecondOfTheDay(Now);
  ElapsedTime := EndTime - StartTime;

  ShowMessage('Summe: ' + IntToStr(sum) + ' / Zeit: ' + IntToStr(ElapsedTime) + ' ms');
end;
Nichts großartiges.

Ich habe es für alle mir verfügbaren Plattformen kompiliert.

Win32 = 6063ms
Win64 = 390ms
macOS ARM 64 Bit = 1296 ms
macos 64 Bit ( mit rosetta) = 316 ms

in C für Arm mit gcc -O3

2 ms

Swift
41 ms Sekunden

C#
362 ms

Lazarus fpc für intel

421ms

fpc für arm
1624 ms


Was mich etwas wundert das dies in Windows bei 64 und 32 so ein großer unterschied ist, und das bei macOS die Rosetta Variante auch sehr viel schneller ist als die (Native Arm) Version. Selbe Bild beim FPC.

Gut C ist halt einfach schnell, dachte allerdings aus Erzählungen das Delphi nicht arg weit dahinter ist.

Was mir stark gewundert hat das Swift die Schleife so schnell durchläuft und auch das C# das Schneller durchläuft unter Macos als die Delphi variante.

Den Hacken Optimierungen habe ich angekreuzt in Delphi. Eventuell gibt es da noch etwas das man machen könnte.

Mich interessiert einfach woher diese unterschiede kommen. Vielleicht kann mich da jemand kurz aufklären.

Danke

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz