"[ndf comment]" is a personal comment, not from the gentoo devs.
- general
- Turn off as many USE flags as you can get away with [1].
- Kill all RAMhogs. Evolution, mozilla, gdesklets, superkaramba and so
on. (python applications too ;) [2]
- Lower your optimization level for all but hard-core number-crunching
code [3]
- using confcache [4][ndf avaiable soon?]?
- Use make -jX to get multiple compilations happening at once [5]
[ndf keep it at number of processors on amd 32 ]
- Use the -pipe CFLAG (this doesn't affect the compiled output, just
how the messages are printed) [5]
- Buy a lot more RAM. [1]
- Don't use c++ apps. [1]
- Avoid silly CFLAGS. [1]
- Don't compile whilst mplayer is running. [1]
- Turn off CPU frequency scaling.[1]
- emerge in a screen or best emerge foo &> /dev/null [6]
- emerging while watching it in a terminal with AA fonts costly
being render will kill your compile times [6]
- do not use ccache in FEATURES, unless you expect to compiling
the same thing often [6]
- distcc
- disk optimization
- /var/tmp/portage
- Mount /var/tmp/portage on tmpfs. [1][ndf 50-80% faster with 4GB]
- tmpfs->swap is worse than ext2
, tmpfs -> no swap is better than ext2 [2]
[ndf you must have at least 1GB to use tmpfs happily]
- make /var/tmp/portage a separate filesystem, and stripe it across
multiple disks. [7]
- use a non journaled filesystem like ext2 /var/tmp/portage [6]
- ext2, async mount, noatime for compiling. Make sure your
swappiness is rather low [2]
- logs
- Use nohup and send the nohup.log in a ramdisk [8]
- dont log (so do not use PORT_LOGDIR ) [6]
- Switch to SCSI or FC hard drives. [1] [ndf use raid-10]
- look into using laptop-mode *without* using hdparm to spin down
the disks [9]
- keep ccache on another drive than you compile on [2]
- Make sure DMA is enabled on hard disks [5]
- for a KDE build, use kde-base/unsermake in combination with distcc
[ndf finally :P
BUT I WANT TO ENJOY MY BOX WHILE IT COMPILE STUFF!!!
# nohup PORTAGE_NICENESS="15" MAKEOPTS="-j1" emerge -uDpv --newuse world &
# tail -f -s 5 nohup.out
]
[1] Ciaran McCresh
[2] Spider
[3] M.Edward Borasky
[4] Chris Gianelloni
[5] Daniel Drake
[6] Daniel Goller
[7] Stuart Herbert
[8] tchiwam
[9] Bret Towe
--
[email protected] mailing list