为什么VS 2012只能在我的某些cpp文件上执行并行构建?

时间:2015-10-21 15:21:54

标签: c++ visual-studio-2012

我有一个大型的c ++项目,我在IDE中使用MS VS 2012进行编译。

我启用了Multi-processor compilation (/MP)并且构建开始并行(我知道这是因为在任务管理器中可以看到8个cl.exe实例)。但是,在完成十几个文件后,构建似乎再次序列化,只剩下一个cl.exe个实例。

我已检查过不兼容的选项(如here所示),一切似乎都正确。我还使用命令行中的jom构建,构建速度更快,并且使用所有核心的构建时间都要长得多。

问题:
在VS内并行构建时是否存在限制?
或者是否有一些我可能会失踪的新设置?

欢迎任何建议。

修改

以下是一些屏幕截图,展示了正在发生的事情。当构建第一次启动时,我会进行大量的编译(请参阅任务人员中的c1.exe的许多实例),但在一分钟左右之后我会遇到一两个实例。这似乎不是编译器限制或项目问题,因为使用jom构建(比使用VS编译器仍然)比在VS IDE中构建快大约4-5倍。

VS 2012 Immediately after starting a build
VS 2012开始构建后立即进行 VS 2012 One minute after build started
VS 2012建设开始一分钟后

0 个答案:

没有答案