SuperAPI AI 工具集

axiom-build-performance

通用与其它

查看项目

更新于 10-16 00:22

技能介绍

用途:系统化分析并优化 Xcode 构建性能,遵循“先测量、后优化,优先处理关键路径”的原则。适用于构建时间显著增加、增量构建过慢、需要分析 Build Timeline、定位慢编译 Swift 代码、优化 CI/CD 构建耗时、排查构建性能回归、启用 Xcode 26 编译缓存,以及减少显式构建模块的模块变体等场景。

主要能力与用法:先建立基线,用 xcodebuild clean build -scheme YourScheme 和 time xcodebuild build -scheme YourScheme 记录总构建时间、增量构建时间与最耗时阶段;再通过 Report Navigator(Cmd+9)查看 Build Timeline,识别关键路径、空闲核心、长任务条与串行目标。瓶颈判断后按决策树处理:编译慢查类型检查,链接慢查链接依赖,脚本慢优化构建阶段脚本,否则检查并行化。

优化要点包括:用 -warn-long-function-bodies 100 和 -warn-long-expression-type-checking 100 找出慢类型检查并加显式类型;将 dSYM/Crashlytics 上传等脚本设为仅 Release 执行;Debug 用 singlefile、Release 用 wholemodule;Debug 设置 ONLY_ACTIVE_ARCH=YES;Debug 用 dwarf、Release 用 dwarf-with-dsym;开启目标并行构建;Xcode 14+ 的 Emit Module 与 Eager Linking 自动生效;Xcode 26 可设 COMPILATION_CACHE_ENABLE_CACHING=YES;Xcode 16+ 的显式构建模块将流程分为 scan、build modules、compile 三阶段,并可通过统一设置减少模块变体。

限制:编译缓存目前不覆盖 Swift Package Manager 依赖及 CompileStoryboard、CompileXIB、DataModelCompile、Ld 任务,首次运行需填充缓存;启用 FUSE_BUILD_SCRIPT_PHASES 前须确保所有脚本正确声明输入输出,否则可能产生数据竞争;不应为提速修改 Release 的运行时优化配置或删除合法的目标依赖。文中提及的部分具体数值与效果为示例,实际影响依项目而异。