Is there a way to speed up C++ compilation times in Solaris Sun Studio 12?
Sinc开发者_高级运维e 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.
Sun Studio includes parallel build support in the included dmake
version of make.
See the dmake manual for details.
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.
精彩评论