Hallo,
ich habe gerade mal (spaßeshalber) einen Test gemacht, von dem ich mir nicht viel erhoffte... Aber jetzt bin ich doch sehr überrascht:
Delphi-Quellcode:
//i1, i2, e1, e2 sind Integer
//Version 1
if i1-i2 < 0 then e1 := i1 else e1 := i2;
//Version 2
e2 := min(i1,i2);
Ich habe die beiden Möglichkeiten jeweils eine Milliarde mal durchlaufen lassen und Version 1 war doppelt so schnell
(Compileroptimierung in der Schleife sind ausgeschlossen!)
Mit 3 Variablen müsste man eben beides doppelt durchlaufen lassen, was den Zeitunterschied nochmals vedoppeln würde...
Woran kann das liegen? Das hieße ja, dass Min extrem langsam ist...