通过二进制化、图片预编译等方式都可以大量优化程序的编译速度。
但是,最终产出链接产物时,大型项目的链接耗时仍然远超预期。
以 clang 为例,它依赖超过 100 个组件,最终产物 511M,链接平均耗时在 25s 以上(根据配置不同,会有所差异)。
上面的数据意味着“即使只改一行代码,最少也需要等待25s”。
通过一款开源的软件,我们可以很容易对此优化。
我们先看一份测试数据,下图是笔者的链接速度优化前后对比。
链接速度对比
从图中可以看出,链接速度大幅度减少(共计减少了73%)。
下面简单介绍一下优化步骤。
1、安装软件包 (注意,该命令最后会打印出 zld 安装的路径,我们稍后会用到)
brew install michaeleisel/zld/zld
2、替换默认链接器
* 在 Xcode 的工程配置中找到 Other Linker Flags
* 添加以下配置 -fuse-ld=<path to zld>
笔者的路径是 /usr/local/Cellar/zld/0.1.2/bin/zld