Ik heb een erg oude computer met een Pentium OverDrive 83 MHz processor die dienst doet als router voor het thuisnetwerk, test-FTP/HTTP server en voor andere kleine dingetjes als ik Linux even nodig heb. Ik draai hier Gentoo Linux op, en het bevalt me prima. Juist omdat deze computer nou niet bepaald 1 van de snelste is, wil ik, pietje precies als k ben, al het compileerwerk zo goed mogelijk optimaliseren. Op dit moment gebruik ik de volgende (standaard) CFLAGS en USE variabelen:
# ---------------
# Pentium/Pentium MMX+ exclusive (requires a Pentium Classic or K6 or beyond)
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=i586 -O3 -pipe"
CXXFLAGS="-march=i586 -O3 -pipe"
USE="x86 3dnow apm arts avi berkdb crypt cups encode gdbm gif gpm gtk imlib
java jpeg kde libg++ libwww mikmod mmx motif mpeg ncurses nls
oggvorbis opengl pam pdflib png python qt qtmt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv"
# ---------------
Dit werkt goed, maar ik heb zo t gevoel dat ik hier heel wat overbodige troep meebak in de binaries. Ook hoor ik dat de -fomit_frame_pointer optie bij de CFLAGS opties voor meer snelheid zorgt en dat er nog wel meer leuke optimalisaties zijn.
Kan ik nu niet gewoon die hele USE-variabele leeggooien of zijn er dingen in de USE die gewoon echt moeten? Zijn er andere CFLAGS-opties die het nog beter compileren?
Dit is trouwens de /proc/cpuinfo van die oude bak, kan misschien handig zijn?
processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 3
model name : OverDrive PODP5V83
stepping : 2
cpu MHz : 0.000 (toch echt 83MHz, maar ok)
fdiv_bug : no
hlt_bug : no
f00f_bug : yes
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr cx8
bogomips : 33.07
toevoeging: Mijn GCC is overigens 2.95.3, de laatste Portage-'stable unmasked'-versie
# ---------------
# Pentium/Pentium MMX+ exclusive (requires a Pentium Classic or K6 or beyond)
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=i586 -O3 -pipe"
CXXFLAGS="-march=i586 -O3 -pipe"
USE="x86 3dnow apm arts avi berkdb crypt cups encode gdbm gif gpm gtk imlib
java jpeg kde libg++ libwww mikmod mmx motif mpeg ncurses nls
oggvorbis opengl pam pdflib png python qt qtmt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv"
# ---------------
Dit werkt goed, maar ik heb zo t gevoel dat ik hier heel wat overbodige troep meebak in de binaries. Ook hoor ik dat de -fomit_frame_pointer optie bij de CFLAGS opties voor meer snelheid zorgt en dat er nog wel meer leuke optimalisaties zijn.
Kan ik nu niet gewoon die hele USE-variabele leeggooien of zijn er dingen in de USE die gewoon echt moeten? Zijn er andere CFLAGS-opties die het nog beter compileren?
Dit is trouwens de /proc/cpuinfo van die oude bak, kan misschien handig zijn?
processor : 0
vendor_id : GenuineIntel
cpu family : 5
model : 3
model name : OverDrive PODP5V83
stepping : 2
cpu MHz : 0.000 (toch echt 83MHz, maar ok)
fdiv_bug : no
hlt_bug : no
f00f_bug : yes
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr cx8
bogomips : 33.07
toevoeging: Mijn GCC is overigens 2.95.3, de laatste Portage-'stable unmasked'-versie