PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausführgeschwindigkeit von Delphi 8-Programmen


pajofego
2004-07-19, 21:31:50
Hallo Leute,

ich habe mir heute mal die Trial Version von Delphi 8 installiert und damit mein numerik Programm kompiliert. Fazit die Exe von Delphi 8 ist gerade mal halb so schnell wie die Exe von Delphi 6. :(

Kann jemand solche Performanceeinbrüche seitens Delphi 8 bestätigen?

Gruss

pajofego

Gast
2004-07-20, 08:00:11
Basiert Delphi 8 nicht auf dem .Net Framework von Microsoft?

Dann wird beim Programmstart der Code erst mit dem JIT-Compiler in Maschinensprache übersetzt. Während der Laufzeit sollte aber beides gleich schnell sein.

Also wenn du auf einem Formular einen Button anklickst und z.B. 10000 Primzahlen berechnest, dürftest du keinen Unterschied bemerken. Aber bis das Formular erscheint, dauert es länger.

pajofego
2004-07-20, 10:21:33
mmh,

ich habe eine reine Konsolenanwendung geschrieben. Benutzte insgesamt 3 Units (SysUtils, MMSystem, Math), ansonsten nur reine prozedualere Aufrufe. Zwischen D7 und D6 gab es schon Geschwindigkeitseinbußen von bis zu 5%(o.k geschenkt), aber bei D8 sind es fast 50%! Ich weiß jetzt nicht ob D8 komplett alles auf .Net aubaut. Ich dachte es wäre auch noch möglich den ganzen Kram im guten alten "Format" auszuführen.

Gibt es bei D8 so eine Art "Release" und "Debug" Modus wie bei MS VS2003?

Crushinator
2004-07-20, 12:24:15
Tu' mir bitte den Gefallen, und teste mal das (ftp://ftp.heise.de/pub/ct/listings/0321-222.zip) hier im Benchmarkmodus. Es stammt aus dem (http://www.heise.de/ct/ftp/03/21/222/) Artikel und wurde bei uns auch schon diskutiert (http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=99944). Im Unterverzeichnis "ListList OOP Delphi 7" des ZIP-Archivs befindet sich das Delphi-Projekt. :)

pajofego
2004-07-20, 13:11:14
Ich hoffe man kann es lesen! Zum Bild: Von Links nach Rechts Delphi Version steigend (D6->D7->D8).

Crushinator
2004-07-20, 13:16:37
Ich glaube, dem ist nichts mehr hinzuzufügen. :D

pajofego
2004-07-20, 13:22:06
Original geschrieben von Crushinator
Ich glaube, dem ist nichts mehr hinzuzufügen. :D
Ja das stimmt, schade eigentlich. Ich mag die neue IDE, auch wenn sie an der einen oder anderen Stelle ein bischen hackt, aber Delphi 6 ist für mich noch die beste Version, schön stabil und schön schnell!

Vedek Bareil
2004-07-21, 00:18:02
Mal ein Tipp, vielleicht nützt der was: hast du die Exe mal außerhalb der IDE laufen lassen? Also in der IDE auf kompilieren klicken und die entstehende IDE dann im Explorer aufrufen? Hab die Erfahrung gemacht, daß es dann mitunter ein paar Nummern schneller geht. Allerdings unter Delphi 3 :D

pajofego
2004-07-21, 09:54:20
Original geschrieben von Vedek Bareil
Mal ein Tipp, vielleicht nützt der was: hast du die Exe mal außerhalb der IDE laufen lassen? Also in der IDE auf kompilieren klicken und die entstehende IDE dann im Explorer aufrufen? Hab die Erfahrung gemacht, daß es dann mitunter ein paar Nummern schneller geht. Allerdings unter Delphi 3 :D

Ja, habe ich, aber die Unterschiede sind kaum der Rede wert. Na dann wollen wir mal hoffen das Borland es in der nächsten Version verbessert. Einbrüche von knapp 50% (bei meinem Programm) sind nicht gerade ein Ruhmesblatt.

Crushinator
2004-07-21, 10:53:21
Original geschrieben von pajofego
Ja, habe ich, aber die Unterschiede sind kaum der Rede wert. Na dann wollen wir mal hoffen das Borland es in der nächsten Version verbessert. Einbrüche von knapp 50% (bei meinem Programm) sind nicht gerade ein Ruhmesblatt.
Ich finde, man muß für sich selbst entscheiden, ob auch wirklich jede Anwendung nach .NET portiert werden muß. Denn wie der Gast schon bereits schrieb, erzeugt Delphi 8 im Gegensatz zu den vorigen Versionen ausschließlich .NET Bytecode, was sowohl einige Performance-Einbrüche als auch die Steigerungen bei Destruktion von Objekten (Garbage Collector läßt grüßen) im c't Projekt erklärt. Der letzte Delphi-Compiler, der noch vollwertige und ohne RE/FrameWork lauffähige Executables erzeugen kann, ist jedenfalls der von D7, welcher übrigens kürzlich auf 7.1 upgedatet wurde. Leider hält Borland auch noch den Ball ziemlich flach, was Informationen über die Zukunft des nativen Win32-Compiler betrifft. ;(

[edit]
Tippfehler

pajofego
2004-07-21, 11:22:57
Original geschrieben von Crushinator
Ich finde, man muß für sich selbst entscheiden, ob auch wirklich jede Anwendung nach .NET portiert werden muß. Denn wie der Gast schon bereits schrieb, erzeugt Delphi 8 im Gegensatz zu den vorigen Versionen ausschließlich .NET Bytecode, was sowohl einige Performance-Einbrüche als auch die Steigerungen bei Destruktion von Objekten (Garbage Collector läßt grüßen) im c't Projekt erklärt. Der letzte Delphi-Compiler, der noch vollwertige und ohne RE/FrameWork lauffähige Executables erzeugen kann, ist jedenfalls der von D7, wlecher übrigens kürzlich auf 7.1 upgedatet wurde. Leider hält Borland auch noch den Ball ziemlich flach, was Informationen über die Zukunft des nativen Win32-Compiler betrifft. ;(

Ach so, jetzt verstehe ich es! Ich ging die ganze Zeit davon aus, dass man unter Delphi 8 die Wahl hätte zw. einem reinen .NET Bytecode und nativen Win32 Code hat. Das erklärt jetzt auch einiges! Ein weiterer Grund warum ich doch erst einmal bei Delphi6 o. 7 bleibe. Mal sehen was die Zukunft bringt. :)

Matti
2004-07-22, 10:12:18
Delphi9 soll angeblich beides können, also EXE und .NET

pajofego
2004-07-22, 10:39:09
Original geschrieben von Matti
Delphi9 soll angeblich beides können, also EXE und .NET

Gibt es schon evt. schon eine konkrete Zeitvorstellung, wann Delphi 9 rauskommen soll? Grund dafür ist, dass ich bald net mehr Student bin und mir vorher noch eine Studilizenz von Delphi 9 holen würde.

Gruss pajofego

icemanemp
2004-07-26, 19:14:32
Ich glaube Ende 2004? Soweit ich noch weiss ach hier:

"Delphi 9 erscheint Ende 2004
Wie Borland-CEO Dale Fuller im Conference Call zu den Quartalsergebnissen Q1/04 mitteilt, ist angestrebt, Delphi 9 bis zum Ende des Jahres 2004 zu veröffentlichen. Wie bereits in der Vergangenheit angekündigt, soll Delphi 9 die Compiler für Win32 und .NET unter einer gemeinsamen Galileo-IDE beinhalten. Inwieweit der anvisierte Release-Termin eingehalten werden kann, bleibt abzuwarten."

Quelle: www.delphi-source.de , deren Quelle: http://www.corporate-ir.net/ireye/ir_site.zhtml?ticker=BORL&script=2100

Delphi 9 hat dann wieder Win32 Optimierung, aber leider noch kein x32-64 Code.

icemanemp
2004-07-26, 19:20:07
Upsi doppelpost