-Os

Tomasz Pala gotar w polanet.pl
Czw, 24 Kwi 2003, 23:51:00 CEST


On Thu, Apr 24, 2003 at 23:33:27 +0200, wrobell wrote:

> > O ile dla dzisiejszych sporych rozmiarów cache, oraz małych programów na
> > których są testowane kompilatory, rozwiajanie pętli czy inne optymalizacje
> > zwiększające rozmiar kodu mog się opłacać, w wypadku kalubryn typu
> > mozilla może przestać tak być. Dlatego -Os może mieć dodatni wpływ na
> > szybkość w niektórych przypadkach.
> 
> 1. Nie powinniśmy zostawić tej sprawy twórcom gcc (tudzież innych
> kompilatorów)? -O2 jest na szybkość, więc generowana binarka będzie
> chyba odpowiednio optymalizowana dla odpowiednich procków?

Tak, a -O3 jest jeszcze bardziej na szybkość, więc czemu nie przestawić
na nią?
Po to kompilatory mają więcej opcji, żeby dobrać je stosownie do _kodu_.
Do procesora jest -march i -mcpu. Bardzo mały kod w wielu przypadkach
pójdzie najszybciej z -O3 -funroll-loops.
Pierwszą rzeczą, jakiej uczą o mikroprocesorach jest to, że dłuższy
kod==szybszy kod. Później uczą, że nie jest to prawdą.

> > dzisiejszych sporych rozmiarów cache, oraz małych programów na
> > których są testowane kompilatory, rozwiajanie pętli czy inne optymalizacje
> > zwiększające rozmiar kodu mog się opłacać
> Co z i386 czy i586? Zmiany w specach dotyczą wszystkich procków.

Nigdzie nie jest nawet planowane dodanie rozwijania pętli
(-funroll-loops) czy optymalizacji zwiększających kod (-O3). Wręcz
przeciwnie - kod jest minimalizowany (-Os). Czym słabszy procesor z
cache tym więcej możesz zyskać. Jeśli masz Xeona z 2MB cache to owszem,
możesz stracić.

> Chciałbym zobaczyć konkretne testy, które wykażą, że prędkość
> działania programów będzie taka sama (tak jak to sugerował gotar,
> o ile się nie mylę).

Mylisz się. Co więcej - nadal nawet nie pofatygowałeś się, aby
przeczytać odpowiednie materiały (konkretnie linijki 49-50). Dla mnie
oznacza to EOT, nie będę rozmawiał z kimś, kto nawet nie wie, co
komentuje.

-- 
GoTaR <priv0.onet.pl->gotar>            USA sux
        ...Dżahilijja... znowu? Nadal...
PLD stuff at http://mops.uci.agh.edu.pl/~gotar/



Więcej informacji o liście dyskusyjnej pld-devel-pl