Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#26

Re: Was ist schneller, Funktion oder Prozedure?

  Alt 28. Okt 2005, 17:19
Zitat von dizzy:
Da kann der Optimierer nicht dran - mit Inlining hätte er hier also sogar einen doppelten Vorteil: Einmal spart man sich den CALL, und zum zweiten ließe sich eine ganze Anweisug wegoptimieren. Ferner würde sich dann sogar erkennen lassen, dass v immer der selbe Wert zugewiesen wird, und der ganze Kram incl. Schleife könnte rausgeschmissen werden, und v ein einziges Mal mit einer Konstanten belegt... jaja, ich war schon immer Fan von Inlining ^^
Und hier der Test dazu:
Delphi-Quellcode:
procedure x(var AValue: Integer); inline;
begin
  AValue := 0;
end;

function y: Integer; inline;
begin
  Result := 0;
end;

var
  i: Integer;
begin
  x(i);
  i := y;
end.
http://img237.imageshack.us/img237/7222/temp2nh.png
Mein Wissen über Assembler tendiert zwar gegen null, aber das sieht für mich ziemlich ähnlich aus . Die Geschwindigkeiten sollten wohl auch nah beieinander liegen ² . Von anderen Optimierungen sehe ich aber nichts.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat