![]() |
ASM vs Delphi
Hi.
Wollte mal wissen was schneller ist :
Delphi-Quellcode:
oder
function VectorSetValue(const Value:Single): TVector3D;
begin Result.X := Value; Result.Y := Value; Result.Z := Value end;
Delphi-Quellcode:
Jemand ne Idee ?
function VectorSetValue(const Value:Single): TVector3D;
asm FLD Value FSTP Result.X FLD Value FSTP Result.Y FLD Value FSTP Result.Z end; |
Re: ASM vs Delphi
führe das ganze in einer Schleife 1 000 000 mal aus und messe die zeit, dann weißt du es genau
|
Re: ASM vs Delphi
Zitat:
Delphi-Quellcode:
Deren Ergebnis ist i.A. identisch zur Pascal-Lösung, verzichtet aber auf das wiederholte Laden des Übergabewertes.
function VectorSetValue(const Value:Single): TVector3D;
asm mov edx, Value mov [eax], edx mov [eax + $04], edx mov [eax + $08], edx end; Deine Lösung sollte spürbar langsamer sein, da Du auf die Befehle des Co-Prozessor zurückgreifst, während der Code von Delphi ohne diesen auskommt und einfach die Speicherwerte kopiert :zwinker: ...:cat:... |
Re: ASM vs Delphi
humm...je mehr es wird desto geringer später der unterschied...naja...asm ist erstmal schneller -
:P |
Re: ASM vs Delphi
Zitat:
|
Re: ASM vs Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
...:cat:... |
Re: ASM vs Delphi
Zitat:
...:cat:... |
Re: ASM vs Delphi
Zitat:
|
Re: ASM vs Delphi
Zitat:
...:cat:... |
Re: ASM vs Delphi
Gibt es zu FSTP nicht auch die Variante ohne "Pop"? Dann ließe sich das ewige nachladen verhindern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 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