首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MSBuild / Visual分布式构建

MSBuild / Visual分布式构建
EN

Stack Overflow用户
提问于 2009-11-05 16:16:00
回答 6查看 16.5K关注 0票数 13

我开发/维护一个需要很长时间才能构建的应用程序(例如,完整构建需要超过6个小时!)在花了一天的大部分时间构建我们的应用程序之后,我开始研究改进构建时间的方法。关于堆栈溢出问题的建议如下:

  • 修正编译警告
  • 统一构建(用于开发人员)
  • 分布式构建

我想知道更多关于如何为MSBuild / Visual构建系统执行第三个选项(分布式构建)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-11-05 16:23:18

去看一看http://www.xoreax.com/为Incredibuild。它不是免费的,但我们使用它,它是相当令人印象深刻的。它很好地集成到Visual中,并且非常容易使用。你有时会遇到问题,但绝对值得一看。

一旦安装好了,在Visual中,原则是使用“BuildSolutionwithIn可信build”菜单条目,而不是使用"Build“菜单项。所有需要的文件都透明地传输到远程计算机,输出文件被下载回来。

票数 17
EN

Stack Overflow用户

发布于 2009-11-05 17:35:53

在过去的十年中,我花了太多的时间让C++构建更快,并行构建可以创造奇迹,但是简单的事情有时会带来惊人的不同。

你没有详细说明,所以我会问.

这个项目的规模有多大?我过去使用过的一个度量指标是,平均每一个源模块(.cpp)有多少个源文件等。源从200到超过32,000 (不是一个错误!)在我的过去,这是一个很好的度量标准。

您的构建机器的规格是什么,它只是一台构建机器,还是同时用于其他工作?愚蠢的缓慢硬盘驱动器,内存太少,其他进程使用;所有可能造成灾难性的影响建设时间。

您正在构建单块静态库和应用程序吗?如果是这样的话,有时转换到DLL文件将导致更低的整体构建时间,因为它将减少单个链接单元的大小。对于具有链接时代码生成的优化构建来说,情况尤其如此。

您的项目是否有效地使用预编译头?如果您的项目被设置为自动生成预编译头,那么我的断言是,您应该关闭所有预编译头的使用来测试构建。在Visual Studio 2003Visual Studio 2005中,我发现这实际上比自动生成更快、更可靠。正确的预编译头(只由一个文件生成,并由所有其他文件使用)似乎是最佳构建速度的过程。可悲的是,这是一个真正的黑色艺术和一些尝试和错误,以获得最佳的PCH内容,为一个给定的项目-和这些内容不一定是稳定的整个项目的生命。

除了你的并行追求之外,上面的这些东西只会有帮助。

票数 9
EN

Stack Overflow用户

发布于 2009-11-05 16:36:11

研究将项目分成多个可以独立构建的项目的可行性。您可以有一个UI项目、一个数据访问层的DLL项目、业务逻辑等等。这将使调试变得更加容易,并且使您的项目的结构更适合于分布式构建。

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

https://stackoverflow.com/questions/1681677

复制
相关文章

相似问题

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