Zitat von
Brüggendiek:
Zitat von
sakura:
Letztere ist schneller, wenn Du die Compileroption {$BOOLEVAL ON} bzw. {$B+} gesetzt hast. Standardmäßig sind diese jedoch aus.
Es ist genau umgekehrt!
Ich bleibe bei meiner Aussage.
Annahme: {$B+}
No. 1
Delphi-Quellcode:
if (var1 = true) and (var2 = true) then
ShowMessage('Beides wahr');
Es werden grundsätzlich beide Teile ausgewertet!
No. 2
Delphi-Quellcode:
if var1 = true then
if var2 = true then
ShowMessage('Auch beides wahr');
Es kann u.U., schon nach dem ersten Test abgebrochen werden.
Daraus folgt
Zitat von
sakura:
Letztere ist schneller
, ich hätte wohl noch ein u.U. einfügen sollen. Wenn die erste Variabel True ist, dann brauchen beide Statements gleich lange. Bei {$B-} (Standard) brauchen beide generell gleich lang.
Korrigiere mich, wenn ich etwas verpasst habe.
Zitat von
"Hansa:
Bei einem Rechner mit 4,77 Mhz Prozessor vielleicht noch sinnvoll.
Auch heute noch. Kommt nur darauf an, an welcher Stelle man optimiert. Wird die Stelle hin und wieder genutzt ist es wahrscheinlich übertrieben. Ist das jedoch Teil eines sog. "Bottlenecks", dann kann es durchaus sinnvoll sein.