On 2007/11/27, Sven Eschenberg <eschenb@xxxxxxxxxxxxxxxxxxx> wrote: > Aside from using -j on HT/Mulitcore/Multi-CPU Systems and ccache it might help to put > the sourcecode into a ramdisk for compilation (no ccache needd then), or at least > the build directory, for all the temporary stuff. > > -Sven Here the list of how to try to reduce the compilation times: * to put more RAM of higher frequencies and lower latencies * to put more machines with more cores per chip (quadcore?), bigger caches (8 MiB L2?) and higher frequencies * to link /tmp to /ramdisk/tmp (mount -t tmpfs) * to configure the kernel for SMP workloads * distcc * make -j N * ccache * to recompile optimized gcc, binutils, ELF loader ld, ... * to use strip --strip-all * to use -O3 -fomit-frame-pointer -funroll-loops -finline-functions -fpeel-loops * to use SSE2/SSE/AltiVec (SSE3 is little bit slower) * to disable shared (it reduces linking time and paging time), to enable -static. * to recompile the shared libraries (that it depends) to static libraries. * to disable threads (they reduce I/O bandwith) if the program doesn't require threading * to disable checking (-DNDEBUG) * to modify optimizing their sources after profiled the runned testsuite (-pg, gprof) Sincerely, J.C.Pizarro