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

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

相关推荐
疯狂的程序猴11 小时前
Flutter应用代码混淆完整指南:Android与iOS平台配置详解
后端·ios
SY.ZHOU11 小时前
移动端架构体系(五):终篇总结
flutter·ios·系统架构·安卓·鸿蒙
用户794572239541315 小时前
【AFNetworking】OC 时代网络请求事实标准,Alamofire 的前身
objective-c·swift
Digitally16 小时前
如何不用 iTunes 将 iPhone 备份到移动硬盘?
ios·iphone
sysinside16 小时前
Cisco Catalyst 9000 IOS XE 26.1.1 GA - 思科 Catalyst 9000 交换产品系列 IOS XE 系统软件
ios·cisco
低保和光头哪个先来17 小时前
解决 ios 使用 video 全屏未铺满页面问题
前端·javascript·vue.js·ios·前端框架
报错小能手18 小时前
SwiftUI 框架 认识 SwiftUI 视图结构 + 布局
ui·ios·swift
2501_9159214318 小时前
HTTP和HTTPS协议全面解析:技术原理与安全应用
安全·http·ios·小程序·https·uni-app·iphone
悟空爬虫-彪哥18 小时前
VRCFaceTracking安装和iPhone面捕配置教程,有bug
ios·bug·iphone
想个名字想老半天18 小时前
uni离线打包实现 ios 支付StoreKit 2,其实没有想象中那么复杂,不需要写原生插件,不需要转 uts
macos·ios·cocoa