Schleife vereinfachen
-
Hallo alle zusammen,
ich hätte mal eine Neulings Frage bezüglich Schleifen. Wenn man davon spricht eine Schleife zu entrollen. Was meint man damit?
Hier ein Beispiel was ich darunter verstanden habe.Die ursprüngliche FOR-Schleife:
for (int i = 0; i < 3; i++) { switch (i) { case 0: DoThing1(); break; case 1: DoThing2(); break; case 2: DoThing3(); break; } }Schleife entrollt?
DoThing1(); DoThing2(); DoThing3();
-
auf wiki ist es gut erklärt : http://de.wikipedia.org/wiki/Loop_unrolling
-
Vielen Dank für den Link! Also ist das genau das, was ich gemacht bzw. verstanden hab.
-
Ja, auch wenn ich nicht weiß was das mit dem switch soll

-
Hier ist's noch besser erklärt:
http://en.wikipedia.org/wiki/Loop_unwindingInsbesondere muss eine Schleife nicht unbedingt vollständig entrollt werden.
-
Ja ich weiß auch nicht was das mit dem switch sein soll
Das ist ein Ausschnitt aus einem Code den ich bekommen hab zum verbessern ^^
-
Ja ok gut zu wissen mit dem nicht vollständig ausrollen! Aber ich würde sagen in meinem Beispiel macht es schon Sinn diese komplett zu entrollen.
-
Händisches Loop Unrolling macht so gut wie überhaupt nie Sinn. Der Compiler ist in 99,999% der Fälle schlauer als du.
-
Ja ok des bestimmt, aber ich glaub hier geht es meinem Prof eher darum den Code verständlicher zu machen
-
Loop Unrolling macht den Code nur unlesbar. Dein Prof ist doof.