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.