Gentoo cierpi na ten sam mały defekt co Debian - jak mu się poda pewne zmienne lokalne jako globalne, a configure lub makefile danego programu tego nie obsługują to kompilacja się wykoleja. Tyle że przy debian to jest komplilacja jednego pakietu i nawet jak kompiluje w stylu
to nie będzie kompilował od nowa. Z Gentoo jest problem taki, że na początku należy kompilować cały system za pomocą
, niech się wykolei na globalnej-zmiennej-lokalnej to albo spis programów do kompilacji albo od nowa. Jednak z Debian'em jest mniej zachodu bo ominie te gotowe (w gentoo nie wiem czy mogę dać bez '-e', ponieważ nie wiem dokładnie w którym momencie budowania systemu jest). Debian jest stabilny - ja chce tylko trochę więcej prędkości plus tą samą stabilność. Mam skompilowane GlibC z 'udziwnionymi' flagami (-Os połączone z -O3 (nadwyżka -O3 nad -O2))
-mmmx -m3dnow -march=athlon-tbird -mcpu=athlon-tbird -mtune=athlon-tbird -Os -finline-functions -funswitch-loops -fgcse-after-reload -fomit-frame-pointer -pipe -s -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_I686_PREFETCH
Dla zainteresowanych:
-mmmx - korzystaj z rozkazów mmx
-m3dnow - korzystaj z rozkazów 3dnow
-march=athlon-tbird - architektura = amd athlon (thunderbird)
-mcpu=athlon-tbird - przestarzałe, ale można stosować - znaczy to samo co -mtune
-mtune=athlon-tbird - blisko march, lecz jak podam '-march=i686 -mtune=athlon-tbird' to kod będzie działał na każdym 'IA32 i686', ale będzie optymalizowany (znacznie szybszy) dla 'AMD Athlon (thunderbird)' - jednym słowem optymalizacja
-Os - optymalizacja kodu pod względem rozmiaru (mały), prawie identyczna z '-O2'
'-finline-functions -funswitch-loops -fgcse-after-reload' - to jest różnica pomiędzy '-O3' a '-O2' (to co ma '-O3' a czego nie ma '-O2')
-fomit-frame-pointer - funkcja usuwania 'frame-pointer' tam gdzie jest zbędny lub służy tylko do debuggingu
-pipe - kompiluj przy użyciu rurki
-s - stripe - czyli usuwa (właściwie nie umieszcza) z kodu informację do debuggowania
reszty nie będę opisywał, ponieważ nie powinno się używać tych opcji jeżeli na prawdę się ich nie rozumie i nie ma się wiedzy na temat działania procesora (wyjątek stanowi '-DUSE_xxxx_PREFETCH' (xxxx - '3DNOW' lub 'I686') - jeżeli się użyje tej opcji na procesorze z odpowiednią jednostką to zysk jest od 5-15%, jeżeli procesor tego nie ma nic się dzieje (kod nie jest ani szybszy ani wolniejszy).
To było na tyle.