我正在尝试利用我们构建服务器的所有12个核心,但无法指定/M12并使所有12个核心在构建中工作。看起来好像/M4就是极限。这是真的吗?有什么我可以做的来使用我们的构建中的所有12个核心?
我使用以下命令行来运行构建:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" /M12 C:\Projects\solution1.sln构建将其视为我根据构建运行所需的时间指定了一个内核,我收到的初始输出是:
1) Build started: Project: Project1, Configuration: Release如果我在命令行中使用/M4而不是/M12,构建速度会更快,并且我会收到以下作为开始输出:
5) Build started: Project: Project5, Configuration: Release
1) Build started: Project: Project1, Configuration: Release
2) Build started: Project: Project2, Configuration: Release
7) Build started: Project: Project7, Configuration: Release我也试着不指定内核的数量,但它将其视为机器只有一个内核,或者好像我指定了/M1。
我检查了系统环境变量NUMBER_OF_PROCESSORS,它仍然设置为12。
这方面的任何帮助都将不胜感激。
-Seth
发布于 2011-06-09 06:16:24
对于特定的构建配置,VCBuild不能并行四个以上的项目,这可能取决于您的特定项目配置。
例如,我的理解(请随意更正):
当"ProjectA“是先决条件(链接到)”project
ProjectB中并行化两个项目。相反,将先构建ProjectA,然后构建ProjectB (这将链接到上一次ProjectA构建的结果)。但是,当"ProjectA.lib“和"ProjectB.lib”都链接到"ProjectC.exe“中时,”ProjectA“可以与”ProjectB.lib“并行构建(尽管ProjectA和ProjectB都不能与when并行构建因此,根据您的项目,VCBuild似乎只能看到最多四个能够同时构建的项目?
(注意: IMHO,上述两个限制没有根本原因;相反,我的印象是这两个限制都是由于历史上的内部/技术原因造成的,因为VCBuild实际上并不打算成为一个“可伸缩的构建服务器”。)
https://stackoverflow.com/questions/6269976
复制相似问题