Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#16

AW: Codeoptimierung

  Alt 4. Aug 2010, 12:37
Hallo!

Ich habe einen Codeabschnitt der in mehreren Funktionen verwendet wird und aus einer Variable 3 neue Variablen berechnet. Mein Problem ist jetzt, dass ich nur 2 Möglichkeiten gefunden hab:
1) Ich kopiere den Codeabschnitt in jede Funktion rein und hab Probleme falls sich was ändert
2) Ich mach aus dem Codeabschnit eine neue Prozedur, procedure Zwischenberechnung(const a; out b, c, d); die dann immer aufgerufen wird und der Code braucht dann ~10% mehr Zeit.

Ich bin mit beiden Möglichkeiten unzufrieden. Die zusätzliche Zeit wär mir ja eigentlich egal, aber gleich 10% mehr für die exakt gleiche Funktionalität nervt mich schon ...
Gibt es eine weitere Möglichkeit???

Grüße
blablab
Generell würde ich immer dazu raten, Teilaufgaben auch in eigene Methoden/Prozeduren auszulagern. Das erhöht die Lesbarkeit und Wartbarkeit deines Codes. Handelt es sich dabei um extremst zeitkritische Aufgaben, die es nicht erlauben, die Zeit für einen Methoden-/Prozeduraufruf in Kauf zu nehmen, muss man sich eine andere Lösung (wie bereits gezeigt, inline, über include Dateien, etc) überlegen. Fraglich ist halt, ob deine Zwischenberechnung so zeitkritisch ist.

Zitat von Michael A. Jackson:
The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat