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

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

相关推荐
Anhty7 小时前
2026最新免费手机音频处理工具 !!
android·功能测试·ios·智能手机·音视频
2501_915909069 小时前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
初雪云11 小时前
UniApp 云打包拿到 IPA 后,真正的发布工作才刚开始
ios·自动化·编辑器·产品经理·iphone
Lancker12 小时前
没有 Mac 也能上架 iOS:GitHub Actions 全自动构建 + 签名 + TestFlight 送审实录
macos·ios·github
茶底世界之下12 小时前
晚霞要多暖?用 Awaking 只改色温做一次取舍
ios
酒神dnspup14 小时前
多地区网站可用性监控怎么做?DNSPup 从基线到告警的完整实战
运维·ios·云计算·iphone·dns·网络监控
福兮说1 天前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
茶底世界之下1 天前
时间线效果层,为什么不能只复用一个处理器?
ios·swift
ZZH_AI项目交付1 天前
实时字幕负责快,本地录音负责不丢:一个 iOS 录音功能为什么需要两条链路
ios·ai编程
Cc.Y1 天前
Swift深度链接的极简之道
ios·cocoa·swift