Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Codeoptimierung für den Delphi Compiler (https://www.delphipraxis.net/24494-codeoptimierung-fuer-den-delphi-compiler.html)

Luckie 22. Jun 2004 04:05


Codeoptimierung für den Delphi Compiler
 
Ich hatte vor längerer Zeit schon mal einen Thread gestartet in dem es um Codedesign ging. Mir ging es dabei allerdings hauptsächlich um formale Aspeckte. Hagen hatte dann aber sprach und Compiler spezifische Aspekte eingbracht. Siehe dazu hier seinen Beitrag: http://www.delphipraxis.net/internal...?p=93878#93878 in dem besagtem Thread. Auf meine Frage hin, woher er denn solches Wissen nehme, meinte er, dass dies hauptsächlich Erkenntnisse aus Jahre langer Arbeit mit Delphi wären, also kurz Erfahrung. Ich wollte jetzt mal dies ein wenig zusammentragen und eine Zusammenstellung erstellen, auf die man dann zurückgreifen kann.

Ich würde euch deshalb bitten das ganze noch etwas auszuweiten und weitere "Erfahrungen" von euch "erfahrenen" Delphi-Programmiereren einfließen zu lassen. Vollständig wird es nie werden, aber man kann zu mindest versuchen inen gewissen "Grundschatz" an Erfahrungswerten zusammenzutragen.

Chewie 22. Jun 2004 10:03

Re: Codeoptimierung für den Delphi Compiler
 
Ich hab hier mal was zu der Optimierung von case-Konstrukten geschrieben, falls es dir weiterhilft.

Luckie 22. Jun 2004 13:36

Re: Codeoptimierung für den Delphi Compiler
 
Das macht eigentlich mehr deutlich, wie case funktioniert. So was suche ich eigentlich weniger.

Chewie 22. Jun 2004 15:32

Re: Codeoptimierung für den Delphi Compiler
 
Das sollte eigentlich die Erklärung, warum case effizienter ist als verschachtelte if-Abfragen, anschneiden, insofern hat das IMHO schon etwas mit Codeoptimierung zu tun.
Aber OK, speziell mit Compiler-Optimierung hat das weniger zu tun.

Eine weitere grundlegenden Sache wäre die berühmte for-Schleifenvariable, die, sofern sie nicht außerhalb einer Schleife gebraucht wird, nur während der Lebensdauer der Schleife ein Registerdasein fristet und niemals in den Hauptspeicher muss und deswegen oft schneller ist als eine while- oder repeat-Schleife, in der man eine lokale Variable in/dekrementiert.
Ich bin mir nicht sicher, aber ich glaub, dass die Schleifenvariable auch bei ausgeschalteter Code-Optimierung in Regsiter "optimiert" wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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