Hallo, ich habe eine for Schleife mit einer festen länge. Wie kann ich den Compiler sagen, dass er die schleife ausprogrammieren soll. Speicher habe ich genung, jedoch soll die Ausführung möglichst schnell von statten gehen. Die Compiler Optimierung habe ich schon auf höchster stufe, jedoch sehe ich im Disassamble, dass die Schleife nich ausprogrammiert wurde. Bsp: for(int i = 0; i < 10; i++){ a[1][i] = b[1][i] + c[1][i]; } soll zum Schluss so aussehen: a[1][0] = b[1][0] + c[1][0]; a[1][1] = b[1][1] + c[1][1]; a[1][2] = b[1][2] + c[1][2]; a[1][3] = b[1][3] + c[1][3]; ....
Stichwort: Loop unrolling Google: "Loop unrolling gcc" Ergebnis: https://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Optimize-Options.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.