AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kurze Funktionen autom. inlinen

Ein Thema von wth · begonnen am 11. Okt 2008 · letzter Beitrag vom 11. Okt 2008
Antwort Antwort
Seite 1 von 2  1 2      
wth

Registriert seit: 17. Sep 2008
43 Beiträge
 
RAD-Studio 2009 Arc
 
#1

Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 13:44
Hallo,

Weiss jemand, was man machen muss, damit Delphi 2009 Konstrukte wie z.B

Delphi-Quellcode:
function add(a,b:integer):integer;
begin
  result:=a+b;
end;
automatisch inlined, wenn sie oft aufgerufen werden, ohne, dass man extra ein "inline;"" dahinter schreiben muss?

Ich habe es mal so getestet:
Delphi-Quellcode:
a:=gettickcount;
for i := 1 to 1000000000 do add(5,8);
showmessage(inttostr(gettickcount-a));
Build Konfiguration ist auf Release, Optimierungen aktiviert, "Steuerung des Code-Inlining" ist auch aktiviert.

Ohne "inline;": 2855 ms.
Mit "inline;": 548 ms.

Kann der Delphi Kompiler das nicht automatisch tun?
Der C++ Builder und alle anderen C++ Kompiler machen das auch so, wenn es auf "Release" gestellt wird.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:22
{$INLINE AUTO}
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
wth

Registriert seit: 17. Sep 2008
43 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:30
Zitat von Apollonius:
{$INLINE AUTO}
Vielen Dank, funktioniert. Weisst du auch, wo man es hinschreiben muss, damit es für alle Units gilt? also für das komplette Projekt.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:32
Das müsstest du in den Projektoptionen einstellen können.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
wth

Registriert seit: 17. Sep 2008
43 Beiträge
 
RAD-Studio 2009 Arc
 
#5

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:37
Zitat von Apollonius:
Das müsstest du in den Projektoptionen einstellen können.
Wo genau?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:42
Probiere es mal mit Directories/Conditionals -> Conditional Defines.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
wth

Registriert seit: 17. Sep 2008
43 Beiträge
 
RAD-Studio 2009 Arc
 
#7

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:48
Zitat von Apollonius:
Probiere es mal mit Directories/Conditionals -> Conditional Defines.
Ist das auf dem Bild so richtig? So funktioniert es leider nicht.
Miniaturansicht angehängter Grafiken
bild_107.png  
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 14:54
Du bist dort bei den Optionen für den Ressourcen-Compiler. Es muss einen geeignete Unterpunkt bei den Optionen für den Delphi-Compiler geben.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
wth

Registriert seit: 17. Sep 2008
43 Beiträge
 
RAD-Studio 2009 Arc
 
#9

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 15:14
Zitat von Apollonius:
Du bist dort bei den Optionen für den Ressourcen-Compiler. Es muss einen geeignete Unterpunkt bei den Optionen für den Delphi-Compiler geben.
hmm, also irgendwie bin ich zu blöd dazu, ich finde auch bei den Delphi-Compiler Optionen nichts passendes.
Habe schon ausprobiert bei den Bedingungen (pic1) "RELEASE;INLINE" und "RELEASE;INLINE AUTO" zu schreiben, aber es tut sich nichts.
Miniaturansicht angehängter Grafiken
pic3_455.png   pic2_715.png   pic1_141.png  
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Kurze Funktionen autom. inlinen

  Alt 11. Okt 2008, 15:17
Delphi-Compiler -> Compilieren -> Quelltexterzeugung -> Steuerung des Code-Inlining
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 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