![]() |
Methodenaufrufe "automatisch" minimieren
Moin!
Ich arbeite von Zeit zu Zeit an einem VST-Synthesizer und muss daher immer die Performance meines Codes im Auge behalten. Da ich aber auch gern ein Mindestmaß an ordnung in meinem Code halte, sind einige Sachen natürlich in Klassen und Methoden gekapselt. Nun weiß ich allerdings auch, dass jeder Methodenaufruf "teuer" ist. Nun frage ich mich, ob es einen Weg gibt, die Methodenaufrufe in die korrespondierenden Befehlsblöcke umzuwandeln vor dem Kompilieren, so dass statt des Funktionsaufrufes gleich die entsprechenden Befehle kommen. Gibt es dafür irgendwelche Werkzeuge? PS: Hab D5 |
Re: Methodenaufrufe "automatisch" minimieren
Wenn ich dich recht verstanden habe, suchst du "inline". Das gibt's allerdings erst ab D2005 (oder so).
Aber ich würde eh sagen: Mach dir über den Call-Overhead dann Sorgen, wenn du ihn ernsthaft spürst. Zitat:
|
Re: Methodenaufrufe "automatisch" minimieren
Ich "spüre" ihn ja teilweise schon. Aber nun gut. So richtig problematisch ist es bis jetzt noch nicht. Mal schauen.
|
Re: Methodenaufrufe "automatisch" minimieren
Ich verstehe nicht so ganz, was du meinst. Also solange du nicht verdammt viel Rekursion da drin hast, sollte das kein Problem sein. Der Call an sich dauert einen Taktzyklus, der Return nochmal einen. Dazu kommt noch das "Retten" der Prozessorregister, das man aber zum Beispiel durch Verwendung von const (oder falls nötig var)-Parametern verringern kann. Dazu kommen noch ein paar Kleinigkeiten, die aber auch nicht wirklich Zeit kosten.
|
Re: Methodenaufrufe "automatisch" minimieren
OK, danke für Deine Antwort!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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