【问题标题】:Distributed build tools in Visual C++?Visual C++ 中的分布式构建工具?
【发布时间】:2023-03-04 13:33:01
【问题描述】:

我们正在开发相当大的中间件软件,每次我们需要在 VS2008 中重新构建整个解决方案(单机上的四核并行构建)都需要 10-20 分钟。我听说有相当昂贵的 VS 扩展,例如 Incredibuild,它们利用您网络中的其他机器(我们大约有 10 台机器)。您是否曾经使用或听说过这些工具?他们是否让构建过程变得更快、更智能,从而物有所值? (例如,重用可以缓存在不同机器上的目标文件)

提前致谢

【问题讨论】:

  • 我工作的一家公司大约 10 年前使用了 Incredibuild for Visual C++ 6,它确实显着缩短了构建时间,但从那以后我就再也没有使用过它。我建议您下载试用版并尝试一下,因为这样您就可以确定它是否适用于您的代码库。

标签: c++ visual-c++ msbuild distributed-computing visual-studio-addins


【解决方案1】:

我们也有类似的问题,只是在我们的案例中构建需要 40 多分钟。

在 Visual Studio 2008 中,我们使用了 Xoreax Incredibuild(请参阅 Xoreax web site),它显着减少了构建时间(即缩短了一半或更多时间)。所以我会说是的,这样的工具可以提供帮助。而且,在我看来,它并没有那么贵(即每个座位在 250 到 500 美元之间,具体取决于额外选项,并且批量购买有一些折扣)。

现在我们使用 VS 2010,在我们升级时,Incredibuild 不支持 2010,因此我们依赖 VS2010 构建。所有开发人员都有四核,VS 2010 中的构建很好地利用了它,因此构建时间是可以接受的。我们还审查和改进了我们的包含,并更好地利用了预编译的标头等。

所以您可以尝试 Xoreax Incredibuild(他们有一个功能齐全的 30 天试用版,到期后可以延长)以确定价格/收益比是否适合您的案例,或者修改和改进您的包含和/或如果您有多核机器,请升级到 VS2010。

【讨论】:

  • 将构建时间减少到一半是件好事,但我现在对这个数字有点失望。我希望他们的缓存方法可以节省大量的重新编译时间。无论如何,我将使用试用版。 -谢谢
  • 我们的应用程序的构建时间从 15 分钟缩短到 2-3 分钟。比 2 倍要好得多 - 这仅取决于您在链接步骤中花费了多少时间。
【解决方案2】:

同意之前的回答。我们有类似的经历;构建时间确实显着下降。我们首先使用简单的 Incredibuild 设置;在其他机器上使用备用容量。好处是显而易见的,但我们认识到我们可以通过添加专用构建服务器来获得更快的构建(尽管我们确实有更多的开发人员 - 超过 100 个客户端 - 所以 YMMV)

至于成本,Incredibuild 很有可能将您的开发人员生产力提高至少 1%。

【讨论】:

  • 我猜是专用服务器负责链接,对吧?或者它是否也在网络上分发链接(而不是编译)?无论如何,我希望我们这个相当小的团队的改进超过 1%。
  • 服务器在那里主要是为了向构建网络添加大量 RAM 和 CPU。链接未分发(可能是今天 - 检查试用版),这限制了我们的加速。至于 1% 的生产力提升,那么您必须意识到,开发人员通常首先花费不到 5% 的时间进行编译。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 2017-03-23
  • 2012-06-09
  • 2019-07-14
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多