通过分发目标文件加速编译

Posted

技术标签:

【中文标题】通过分发目标文件加速编译【英文标题】:Speeding up compile by distributing object files 【发布时间】:2011-05-12 10:56:44 【问题描述】:

我有一个项目,它有多个分支,每个分支大约需要 1 小时才能在***机器上编译。我需要每周多次跨分支重新编译,跨多台机器,许多其他开发人员也在办公室这样做。

是否可以选择每晚的修订版,压缩目标文件,然后让开发人员同步到该修订版,提取目标文件。增量构建会起作用吗?下载/提取目标文件只需要 3 分钟,而不是 1 小时,因此这将是一个巨大的改进。

如果可能,必须考虑哪些事项?我假设跨机器的工具链必须相同(gcc 构建、osx 版本、指令集当然)。

【问题讨论】:

【参考方案1】:

我曾在为网络共享上的不同分支(版本)构建机器的公司工作过。开发环境被设置为首先链接到本地​​对象和库(如果存在),然后是这些网络共享。

开发人员拥有完整的源代码,但只需要创建增量对象/库。这允许仅将开发更改应用于那些已更改的库,并且只要每个人都坚持类似的一天一次的更新周期,结果就可以了。在最坏的情况下,你又回到了构建完整的源代码。

【讨论】:

以上是关于通过分发目标文件加速编译的主要内容,如果未能解决你的问题,请参考以下文章

Xcodebuild 编译加速,Cocoapods 二进制化实践

分发配置文件不包括 get-task-allow 权利

如何指定Makefile编译目标文件到指定目录

使用Varnish加速Web

程序运行之目标文件

目标代码文件可执行文件和库