Is there a way to speed up C++ compilation times in Solaris Sun Studio 12?
-
13-09-2020 - |
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.
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.