Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Compiler frage - mehrfach einbinden functionen (https://www.delphipraxis.net/56595-compiler-frage-mehrfach-einbinden-functionen.html)

th_bone 8. Nov 2005 14:22


Compiler frage - mehrfach einbinden functionen
 
Hi,

gibt es eine Möglichkeit funktionen etc. durch den compiler direkt an die jeweilige
Stelle einzubinden, wo sie genutzt werden.. ?

Sprich - wenn die funktion 2x im Program genutzt wird, dann sollte sie auch 2x im code
vorhanden sein

Was der Programgröße logischerweise abträglich aber die Performance verbessern sollte...

Danke für tips

Ralf

Dax 8. Nov 2005 14:23

Re: Compiler frage - mehrfach einbinden functionen
 
Ab Delphi2005 gibts dafür die Direktive inline. Wenn du das von vorherigen Versionen haben willst, kannst du deine Erwartungen erstmal knicken.

franktron 8. Nov 2005 14:24

Re: Compiler frage - mehrfach einbinden functionen
 
Also die Geschwindigkeit wird wohl kaum schneller weil das max 4 Prozessorzyklen sind eine Procedure aufzurufen.

ichbins 8. Nov 2005 14:40

Re: Compiler frage - mehrfach einbinden functionen
 
... und weil das vom zusätzlichen (arbeits-)speicherverbrauch mehr als ausgeglichen wird. Mach einfach mal einen kleinen Performanc-Test.

Kroko1999 8. Nov 2005 14:57

Re: Compiler frage - mehrfach einbinden functionen
 
Zitat:

Zitat von franktron
Also die Geschwindigkeit wird wohl kaum schneller weil das max 4 Prozessorzyklen sind eine Procedure aufzurufen.

PLUS ev. Parameter abzulegen!

th_bone 8. Nov 2005 15:15

Re: Compiler frage - mehrfach einbinden functionen
 
Hallo,

wau danke für die schnellen Antworten... 'Inline' ist was ich gesucht habe...

Mal sehen ob es was an Geschwindigkeit bringt... Arbeistspeicher ist dabei im Moment
nebensächlich..

Tschüs

Ralf

ichbins 8. Nov 2005 16:50

Re: Compiler frage - mehrfach einbinden functionen
 
Ich hab einen Geschwindigkeitstest gemacht. Selbst bei einer extrem kleinen Prozedur (Inhalt: b:=now<starttime+5/24/3600) liefeert der Dierektaufruf nur etwa 0,3% Geschwindigkeitsvorteil. Da du aber weitaus größere Prozeduren haben wirst ist der Faktor wirklich unerheblich.

Khabarakh 8. Nov 2005 17:08

Re: Compiler frage - mehrfach einbinden functionen
 
Bei einem Inc-Nachbau komme ich auf 100% Geschwindigkeitserhöhung.

th_bone 9. Nov 2005 07:04

Re: Compiler frage - mehrfach einbinden functionen
 
Hi,

vorteile sehe ich dann, wenn Berechnungen in Schleifen ausgeführt werden die auf funktionen zurückgreifen, da dann bei jedem Schleifendurchgang der Sprung zur jeweiligen Funktion entfällt...

cu

Ralf


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