Swift 编译优化的系列文章:
编译衡量标准
进行编译优化前,我们需要对速度有一个衡量标准:准确获得构建用时。
先定义要衡量和优化的内容。 有两种选择:
- Clean Build(全量构建): 从头开始完整构建项目
- Incremental build(增量构建): 修改部分源代码后重新构建项目
查看编译耗时项
查看总编译耗时
可以通过这个方式查看编译总耗时
使用 BuildTimeAnalyer-for-Xcode
使用Github上的插件工具BuildTimeAnalyer-for-Xcode,可以显示每个文件的编译时间,耗时所在的方法,多少行。
按照要求完成配置
- 确保将标志(
-Xfrontend-debug-time-function-bodies
)添加到目标的构建设置中 - Clean 项目
- 构建项目,并等待它完成
看统计的数据
页面上信息:
- 编译耗时,毫秒为单位。
- 文件位置
- 出现次数
- 调用的方法
- 双击可以直接定位到代码位置。
如何在项目中查找编译耗时项?
在 xcode => build settings => Other Swift Flags
添加下面设置, 数值 100 的单位是毫秒,超过这个值,就会给出警告,当然你可以可以根据自身情况修改该值。
ini
-Xfrontend -warn-long-function-bodies=100
-Xfrontend -warn-long-expression-type-checking=100
如果编译耗时超过设置的最大值,将通过警告的方式提示你。