![]() |
AW: Delphi Performance Vergleich zu C#
Zitat:
![]() Edit: Ich hab übrigens herausgefunden, was hier dafür sorgt, dass es in meinem Fall langsamer wurde. Ich habe timeges als long deklariert, da ich mir dachte, nuja Stopwatch.ElapsedMilliseconds ist ja auch long, also machts da keinen Sinn, das in double umzuwandeln. Allerdings sorgt das wohl bei x86 dafür dass er vermutlich ähnlich wie bei Delphi die Schleife nicht gut optimiert. Wenn timeges double ist, dann ist's auch unter x86 schnell. Hach ja, Microbenchmarks sind toll... |
AW: Delphi Performance Vergleich zu C#
Müsste man nicht auch Taskswitches verhindern, um vergleichbare Ergebnisse zu erhalten?
|
AW: Delphi Performance Vergleich zu C#
Zitat:
|
AW: Delphi Performance Vergleich zu C#
Zitat:
Solange die meisten meiner Programme von Platte und/oder DB ausgebremst werden, mach ich mir um 10 Sekunden keine Gedanken. Gruß K-H |
AW: Delphi Performance Vergleich zu C#
Zitat:
Wenn der Compiler nen besseren Job machen würde, dann bräuchte auch nicht die Hälfte der System.pas in Assembler geschrieben werden, damit sie schnell(er) ist. Außerdem geht's mir hier primär um die antiquierte Ansicht und Propaganda, die von vielen verbreitet und geglaubt wird, dass nativ kompiliert automatisch schnell und managed/interpreted/jitted langsam sei. |
AW: Delphi Performance Vergleich zu C#
Zitat:
Man kann es vielleicht so sagen: Automatisch wird gar nichts optimiert, wenn also überhaupt eine Automatik existiert, dann nur die der Langsamkeit. Es scheint darauf anzukommen, welche Interessenlage in den jeweiligen Ökosystemen besteht. |
AW: Delphi Performance Vergleich zu C#
Hallo,
Zitat:
|
AW: Delphi Performance Vergleich zu C#
Zitat:
Kommt es schon drauf an, ob das fronted hinterher kommt. (Datenerfassung/Auswertung) Und ich find es trotzdem wichtig und auch interessant mal sowas Mit so einfachen Tests zu beleuchten! Das bei 90% der Anwendungen die CPU nicht das bottleneck ist, ist ja klar. Bei mir war es so, das Event gesteuert, Daten berechnet wurden, und das sich als zu langsam Herausgestellt hat. Per Interfaced Aufruf wurd es dann schneller aber dann wollte ich es genau wissen. Falls es jemanden interessiert hier die c# Performance Charts Um per Parameter ein Ergebnis zu bekommen. 1. normaler (Aufruf wie im Beispiel) 2. delegates (func<int,int>) 3. interfaced (dauert unerwartet lange) 4. Events (ist sogar langsamer als der normale Delphi Aufruf xD ) |
AW: Delphi Performance Vergleich zu C#
Ich kann mir schon vorstellen, dass der JIT erheblich schneller ist.
Einfach daher, dass er just in time die CPU kennt und somit passend optimieren kann. Der Delphi-Compiler kann ja nur doof generischen x86 Code erzeugen. |
AW: Delphi Performance Vergleich zu C#
Zitat:
Also Normale Berechnung in ner Schleife:
Code:
Geschwindigkeit bei meiner CPU = ~500 ms.
const int Iterations = 1000000000;
int x = 3; for (int i = 0; i < Iterations; i++) { x = x * 3; } So wenn ich aber jetzt DAVOR/Danach x per reference/out benutze, wirds höllisch langsam. Dann fällt der Speed auf ~3000 ms.
Code:
void Init(ref int x)
{ x = 3; } ..... Init(ref x); for (int i = 0; i < Iterations; i++) { x = x * 3; } //Init(ref x); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz