WinAVR-20060125: Code wird schon wieder größer...

Gast #285600
Lesenswert?

Kann es sein, dass der Compiler schon wieder schlechter wurde ?

Ein Programm hat sich von rund 3500 auf 3800Bytes vergrößert, nachdem
ich die neue Version installiert habe.
Interessant finde ich folgendes:
a) ypos=Zeile*8;
b) ypos=Zeile;
   ypos*=8;

Version b erzeugt einen um 16Bytes kleineren Code, da u.a. bei B mul
verwendet wird, während a 16bit shifts verwendet.
Gast #285602
Lesenswert?

Also ich kann das überhaupt nicht bestätigen.

Ich habe jetzt mal 4 ältere Programme compiliert (-Os):

WINAVR            20030913  20050214  20060125

Programm 1        2911      2935      2907

Programm 2        2376      2390      2380

Programm 3        2075      2089      2069

Programm 4         571       571       569

Vergleich:          100%     100,7%    99,9%


Also nur das 2. Programm ist mit der 2003 Version um 2 Worte kleiner.

In % sind die Unterschiede schlichtweg lächerlich, um so ein Gedöns
drum zu machen.


Peter
Gast #285603
Lesenswert?

Ich habe mit 2, also auf Geschwindigkeit optimiert, compiled.
Da wird dann aus x*zahl ein schift, wenn die Zahl 2^n ist, obwohl ein
mul schneller und kleiner wäre. Und das ist nur ein Beispiel.
Bei meinem Fall ist das Programm um rund 8% größer geworden, das ist
schon einiges.

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