Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
Delphi 12 Athens
|
AW: [Optimiert] Explode Prozedur - Reloaded (Ersatz für CodeLib)
17. Aug 2010, 20:46
Delphi lagert es nur einmal aus und es wird dann vorm RET auf EAX kopiert.
Result wird in soeinem Fall einfach wie eine lokale Variable behandelt und erst zum Schluß als "Result" gesetzt.
Es sollte also nicht unbedingt extreme Einbusen geben.
Code:
function Test: Integer;
begin
Result := 123;
asm mov eax, 789; end;
end;
mov edx,$0000007b // Result := 123;
mov eax,$00000315 // asm mov eax, 789; end;
mov eax,edx // end;
ret
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (17. Aug 2010 um 20:51 Uhr)
|