Hi, ich kenne es von TI's ARM-Compiler, dass man neben den Optimierunsstufen -O0 bis -O5 auch noch einen zusätzlichen Parameter hat, mit dem man angeben kann, wie stark zu Gunsten der Geschwindigkeit (=größerer Code) oder der Codesize (=langsamerer Code) optimiert werden soll. Gibt es sowas beim AVR-GCC auch oder ist da alles implizit in den Optimierungsleveln -O0...-O3 und -Os enthalten? Danke!
:
Verschoben durch Moderator
Karl K. schrieb: > Gibt es sowas beim AVR-GCC auch oder ist da alles implizit in den > Optimierungsleveln -O0...-O3 und -Os enthalten? -O0 optimiert nicht -Os ... auf Platz -O1,-O2,.. auf Tempo
Ähm ja...meine Frage war eigentlich, ob es daneben noch eine zusätzliche Option gibt, mit der man den Compiler anweisen kann, Geschwindigkeitsoptimierung auf Kosten der Größe (oder anders herum) vorzunehmen.
A. K. schrieb: > -Os ... auf Platz > -O1,-O2,.. auf Tempo Naja, die Reihenfolge ist eher -O1, -Os, -O2, -O3. Karl K. schrieb: > ob es daneben noch eine zusätzliche Option gibt Dutzende (fangen alle mit -f an). Aber glaub' uns, daran willst du nicht einzeln feilen. ;-) Wenn du ins Handbuch schaust, siehst du, welche der -O-Optionen jeweils welche der feiner granularen Optimierungsschritte impliziert. Beim AVR ist im Allgemeinen kürzerer Code auch schnellerer, weshalb sich -Os als „die Universaloption“ schlechthin eingebürgert hat. Erst bei -O3 wird der Code dann wirklich massiv schneller (auf Kosten der Größe natürlich), weil eben rigoros Schleifen aufgerollt werden und dergleichen Dinge mehr. Selbst auf dem IAR habe ich nie einen nennenswerten Unterschied zwischen -z6 und -s6 bemerkt, wenn man Code für den AVR erzeugt hat.
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.