![]() |
Performance-Test: Assigned() oder ungleich nil?
Hallo Community,
Die Frage klingt vllt übertrieben penibel, aber ich möchte gern aus reiner Neugierde wissen, ob es einen (Geschwindigkeits-)Unterschied zw. den folgenden Schreibweisen gibt:
Delphi-Quellcode:
mfg Nogge
if Assigned(TestObj) then
// if (TestObj <> nil) then // |
Re: Performance-Test: Assigned() oder ungleich nil?
Weil es bei Assigned(...) nen jump auf die Funktion gibt sollte das langsamer sein... es sei denn, der Compiler optimiert das schlauerweise.
|
Re: Performance-Test: Assigned() oder ungleich nil?
Jo, das denke ich auch, allerdings WEIß ich es nicht. Ich hoffe daher auf Personen hier im Forum, die sich intensiver mit der Materien auskennen und eine konkrete Antwort geben können.
|
Re: Performance-Test: Assigned() oder ungleich nil?
Zitat:
|
Re: Performance-Test: Assigned() oder ungleich nil?
Der erzeugte Assembler-Code ist genau der gleiche:
Delphi-Quellcode:
(Wobei der zu überprüfende Pointer in ebx liegt und +$0d das Ende der darauffolgenden If-Anweisung ist.
test ebx, ebx
jz +$0d |
Re: Performance-Test: Assigned() oder ungleich nil?
Ah, wunderbar, 3_of_8 !
Solch eine kompetente Antwort wollte ich hören^^ Nur noch eins: Was bedeutet +$0d nach dem Jump(if)Zero-Befehl? |
Re: Performance-Test: Assigned() oder ungleich nil?
Okay.. bullshit meinerseits... aber ich war mir sicher, die Func gesehn zu haben :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 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