微信团队分享:极致优化,iOS版微信编译速度3倍提升的实践总结
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、引言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了。 记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟。如今用公司配的 17 年款 27-inch iMac 编译要接近半小时;偶然间更新完代码,又莫名其妙需要全新编译。在这么低的编译效率下,开发心情受到严重影响。 于是年初我向上头请示,优化微信编译效率,上头也同意了。 2、现有方案 在动手之前,先搜索目前已有方案,大概情况如下。 2.1 优化工程配置 1)将 Debug Information Format 改为 DWARF: Debug 时是不需要生成符号表,可以检查一下子工程(尤其开源库)有没有设置正确。 2)将 Build Active Architecture Only 改为 Yes: Debug 时是不需要生成全架构,可以检查一下子工程(尤其开源库)有没有设置正确。 3)优化头文件搜索路径: 避免工程 Header Search Paths 设置了路径递归引用: Xcode 编译源文件时,会根据 Header Search Paths 自动添加 -I 参数,如果递归引用的路径下子目录越多,-I 参数也越多,编译器预处理头文件效率就越低,所以不能简单的设置路径递归引用。同样 Framework Search Paths 也类似处理。