On 8/04/2015 16:13, Bjørn Roald wrote:
On 08. april 2015 01:47, Gavin Lambert wrote:
Not in MSBUILD, but for example CL supports the /MP option which if specified will tell it to compile separate compilation units in parallel. (The default, however, is not to do that.)
Then you have to list more than one source file for each cl invocation, which is fast, possibly for other reasons. Ant actually did that many years ago when I used it for some C++ work. I do not remember if there was a flag for parallel build added by Ant.
I believe MSBUILD runs CL exactly twice for a normal project -- once to build the precompiled headers and once for all the other files. Obviously this will be only once if you're not using precompiled headers, or possibly many times if you have individual files with different compiler settings. But either way specifying /MP should give you the most theoretical benefit, unless you have lots of projects containing only a few files (and that don't depend on each other), in which case the MSBUILD setting may be more beneficial. I'm not sure what B2 does.