![]() |
Codeoptimierung
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,
Delphi-Quellcode:
die dann immer aufgerufen wird und der Code braucht dann ~10% mehr Zeit.
procedure Zwischenberechnung(const a; out b, c, d);
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 |
AW: Codeoptimierung
Zitat:
|
AW: Codeoptimierung
Geht das mit Delphi7? Es gibt das reservierte Wort "inline" allerdings nur wegen Abwärtskompatibilität... Und wie ich es anwende versteh ich (noch) nicht.
|
AW: Codeoptimierung
Zitat:
|
AW: Codeoptimierung
D7: "Das reservierte Wort inline ... hat keine Auswirkungen auf den Compiler" Schei*e...
|
AW: Codeoptimierung
- Was wird denn nun genau gemacht?
- Wie oft wird diese Funktion aufgerufen? - wieviel Code sind jeweils in der Funktion (also der doppelte Code) und wieviel Code gibt es sonst noch (das Verhältnis also - usw. notfalls gibt es auch noch {$include} allerdings hat der Debugger (vorallem der Alte) und Codeeditor damit ein paar kleine Problemchen, so daß sich ein Debuggen der solcher ausgelagerten Codes etwas erschwert. |
AW: Codeoptimierung
Ich kenn zwar den alten Compiler nicht, aber wenn kein inline zur Verfügung steht kannst du mal probieren ob´s mit einem (den Parametern) vorangesteltem
Delphi-Quellcode:
schneller läuft.
var
|
AW: Codeoptimierung
Pack die Funktion in eine separate Include-Datei zB zwischenberechnung.inc und schreib an den Stellen, wo Du bisher den Code ausformuliert hast, einfach
Delphi-Quellcode:
. Dann hast Du nur eine zentrale Stelle für die Änderung und keinen Overhead für die Funktionsaufrufe.
{$i zwischenberechnung.inc}
|
AW: Codeoptimierung
Zitat:
Zitat:
Delphi-Quellcode:
oder
{$include...}
Delphi-Quellcode:
ich mag die langen Versionen lieber, da sie verständlicher sind :stupid:
{$i ...}
|
AW: Codeoptimierung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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-2025 by Thomas Breitkreuz