-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