Swift 编译优化(2) - 耗时统计

Swift 编译优化的系列文章:

Swift 编译优化(1) - 编译过程

Swift 编译优化(2) - 耗时统计

Swift 编译优化(3) - 编译配置

Swift 编译优化(4) - 代码优化

编译衡量标准

进行编译优化前,我们需要对速度有一个衡量标准:准确获得构建用时。

先定义要衡量和优化的内容。 有两种选择:

  • Clean Build(全量构建): 从头开始完整构建项目
  • Incremental build(增量构建): 修改部分源代码后重新构建项目

查看编译耗时项

查看总编译耗时

可以通过这个方式查看编译总耗时

使用 BuildTimeAnalyer-for-Xcode

使用Github上的插件工具BuildTimeAnalyer-for-Xcode,可以显示每个文件的编译时间,耗时所在的方法,多少行。

按照要求完成配置

  1. 确保将标志(-Xfrontend-debug-time-function-bodies)添加到目标的构建设置中
  2. Clean 项目
  3. 构建项目,并等待它完成

看统计的数据

页面上信息:

  1. 编译耗时,毫秒为单位。
  2. 文件位置
  3. 出现次数
  4. 调用的方法
  5. 双击可以直接定位到代码位置。

如何在项目中查找编译耗时项?

在 xcode => build settings => Other Swift Flags 添加下面设置, 数值 100 的单位是毫秒,超过这个值,就会给出警告,当然你可以可以根据自身情况修改该值。

ini 复制代码
 -Xfrontend -warn-long-function-bodies=100 
 ​
 -Xfrontend -warn-long-expression-type-checking=100

如果编译耗时超过设置的最大值,将通过警告的方式提示你。

相关推荐
可乐鸡翅yeah_11 小时前
fmp4 碎片 MP4 格式 HLS 流,和传统 TS 分片有什么不一样
开发语言·javascript·ios·音视频·safari·m3u8·m3u8在线播放
茶底世界之下15 小时前
为什么高精度透明图片上传到 Metal 时,必须把“拷贝像素”与“混合合成”分开
ios
老李IT笔记15 小时前
iOS 27 更新延迟只能给 1 到 90 天:两个参数怎么配,配错了会发生什么
ios·智能手机
Helix25016 小时前
移动端浏览器内核之争:iOS 为何强制使用 WebKit?
ios·safari·webkit·wkwebview·浏览器内核·blink·ios浏览器内核
传奇开心果编程1 天前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
可乐鸡翅yeah_1 天前
M3U8 防盗链 URL‑Token 签名,新手开发实操避坑
开发语言·javascript·ios·音视频·safari
AC赳赳老秦1 天前
数据采集全链路审计留痕:用 OpenClaw 实现合规审计与追溯
开发语言·汇编·python·php·swift·deepseek·openclaw
传奇开心果编程2 天前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift