首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将4个以上的内核与VCBuild配合使用

将4个以上的内核与VCBuild配合使用
EN

Stack Overflow用户
提问于 2011-06-08 02:34:15
回答 1查看 463关注 0票数 2

我正在尝试利用我们构建服务器的所有12个核心,但无法指定/M12并使所有12个核心在构建中工作。看起来好像/M4就是极限。这是真的吗?有什么我可以做的来使用我们的构建中的所有12个核心?

我使用以下命令行来运行构建:

代码语言:javascript
复制
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" /M12 C:\Projects\solution1.sln

构建将其视为我根据构建运行所需的时间指定了一个内核,我收到的初始输出是:

代码语言:javascript
复制
1) Build started: Project: Project1, Configuration: Release

如果我在命令行中使用/M4而不是/M12,构建速度会更快,并且我会收到以下作为开始输出:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2011-06-09 06:16:24

对于特定的构建配置,VCBuild不能并行四个以上的项目,这可能取决于您的特定项目配置。

例如,我的理解(请随意更正):

当"ProjectA“是先决条件(链接到)”project

  • VCBuild“时,
  1. VCBuild不能在ProjectB中并行化两个项目。相反,将先构建ProjectA,然后构建ProjectB (这将链接到上一次ProjectA构建的结果)。但是,当"ProjectA.lib“和"ProjectB.lib”都链接到"ProjectC.exe“中时,”ProjectA“可以与”ProjectB.lib“并行构建(尽管ProjectAProjectB都不能与when并行构建

因此,根据您的项目,VCBuild似乎只能看到最多四个能够同时构建的项目?

(注意: IMHO,上述两个限制没有根本原因;相反,我的印象是这两个限制都是由于历史上的内部/技术原因造成的,因为VCBuild实际上并不打算成为一个“可伸缩的构建服务器”。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6269976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档