Question

Since I am compiling my C++ code on a very server box (32 or 64 cores in total), is there a way of tweaking compiler options to speed up the compilation times? E.g. to tell compiler to compile independent .cpp files using multiple threads.

Was it helpful?

Solution

Sun Studio includes parallel build support in the included dmake version of make. See the dmake manual for details.

OTHER TIPS

This depends on what toolchain you're using.

If you're using GNU Make, then add -j 32 to your make invocation to tell Make to start 32 jobs (for example) in parallel. Just make sure that you're not exhausting RAM and thrashing your swap file as a result.

Use something like Boost JAM which does this sort of multithreading for you - and from my experience much more efficiently than multi-threaded make.

Sun's C++ compiler also has an -xjobs option that makes the compiler fork multiple threads internally. For this to be efficient you would probably have to pass all .cc files to a single invocation of CC.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top