加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

让大型iOS工程编译速度提升50%的工具

发布时间:2021-04-07 10:55:03 所属栏目:传媒 来源:互联网
导读:apods-hmap-prebuilt 是美团平台迭代组自研的一款 cocoapods 插件,以Header Map 技术为基础,进一步提升代码的编译速度,完善头文件的搜索机制。 虽然以二进制组件的方式构建 App 是 HPX (美团移动端统一持续集成/交付平台)的主流解决方案,但在某些场景

apods-hmap-prebuilt 是美团平台迭代组自研的一款 cocoapods 插件,以 Header Map 技术 为基础,进一步提升代码的编译速度,完善头文件的搜索机制。

虽然以二进制组件的方式构建 App 是 HPX (美团移动端统一持续集成/交付平台)的主流解决方案,但在某些场景下(Profile、Address/Thread/UB/Coverage Sanitizer、App 级别静态检查、ObjC 方法调用兼容性检查等等),我们的构建工作还是需要以全源码编译的方式进行;而且在实际开发过程中,大多是以源码的方式进行开发,所以我们将实验对象设置为基于全源码编译的流程。

废话不多说,我们来看看它的实际使用效果!

总的来说,以美团和大众点评的全源码编译流程为实验对象的前提下,cocoapods-hmap-prebuilt 插件能将总链路提升 45% 以上的速度,在 Xcode 打包环节上能提升 50% 以上的速度,是不是有点动心了?

为了更好的理解这个插件的价值和功能,我们不妨先看一下当前的工程中存在的问题。

为什么现有的项目不够好?

目前,美团内的 App 都是基于 CocoaPods 做包管理方面的工作,所以在实际的开发过程中,CocoaPods 会在 Pods/Header/ 目录下添加组件名目录和头文件软链,类似于下面解决上述的问题,好一点的情况下,可能会浪费 1 个小时,而不好的情况,就是让有风险的代码上线了,你说工程师会不会因此而感到头疼?

Header Map 是个啥?

还好 cocoapods-hmap-prebuilt 的出现,让这些问题变成了历史,不过要想理解它为什么能解决这些问题,我们得先理解一下什么是 Header Map。

Header Map 其实是一组头文件信息映射表!

为了更直观的理解 Header Map,我们可以在 Build Setting 中开启 Use Header Map 选项,真实的体验一下它。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读