Search code examples
performancecompilationhardware

hardware environment for compilation performance


This is a rather general question ..

What hardware setup is best for large C/C++ compile jobs, like a Linux kernel or Applications ?

I remember reading a post by Joel Spolsky on experiments with solid state disks and stuff like that.

Do I have to have rather more CPU power or more RAM or a fast harddisk IO solution like solid state ? Would it for example be convenient to have a 'normal' harddisk for the standard system and then use a solid state for the compilation ? Or can I just buy lots of RAM ? And how important is the CPU, or is it just sitting around most of the compile time ?

Probably it's a stupid question, but I dont have a lot of experience on that field, thanks for answers.

Here's some info on the SSD issue


Solution

  • I think you need enough of everything. CPU is very important, and compiles can easily be parallelised (with make -j), so you want as many CPU cores as possible. Then, RAM is probably just as important, since it provides more 'working space' for the compiler and allows to your IO to be buffered. Finally, of course drive speed is probably the least important of the three - kernel code is big, but not that big.