Auf Thema antworten

Deshalb meine bereits erwähnte Verbesserung.




Ok, wir haben:


[icode]while (--n > 0) {[/icode]


falsch,


[icode]while (--n >= 0) {[/icode]


richtig,


[icode]for (int i = 0; i < n; i++) {[/icode]


richtig, aber 4. Variable,


[icode]while (0 < n--) {[/icode]


richtig, aber post-increment und echt kleiner,


daraus wird branch if equal, branch if not equal usw.


Ich behaupte jetzt, 1. post-increment ist langsamer als pre-increment, und 2. echt kleiner ist schneller als größer-gleich-als [*]. Somit heben sich beide wechselseitig auf. Damit wären wir beim Thema Mikrooptimierung, wonach wahrscheinlich nicht gefragt wurde.


[*] Weiß es jemand besser, möge er mich korrigieren.


Es müsste jetzt gemessen werden, die nicht rekursive Methode ist aber so schnell, dass ein messen mit long-Werten mir nicht sinnvoll erscheint.



Oben