AVR-GCC Optimierungsoptionen

#4286763
Lesenswert?

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!
Moderator Persönliche Seite #4286991
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren