用途:在性能分析已确认瓶颈位于 Swift 代码时,从语言层特性出发优化执行效率与内存开销,而非盲目微优化。适合紧循环、频繁调用的方法、性能敏感的数据结构与算法,以及框架或库代码。前置条件是先用性能分析工具定位热点。
主要能力:按问题类型分为若干部分——非可复制类型(~Copyable)消除隐式拷贝;写时复制(COW)与防御性拷贝的识别与规避;值类型与引用类型的选择;ARC 优化(weak 与 unowned、闭包捕获、对象生命周期);泛型与特化(存在类型开销、@_specialize);内联(@inlinable、@usableFromInline);集合性能(ContiguousArray、reserveCapacity、哈希键设计、Swift 6.2 的 InlineArray 与 Span);以及并发与内存布局等。
使用方式:先由性能分析确认瓶颈,再按决策树匹配对应部分,例如拷贝过多看非可复制与 COW,retain/release 开销看 ARC,热路径泛型看特化,集合操作慢看集合性能。资料中给出的必要命令与代码均按原文保留,如 array.reserveCapacity(array.count)。
适用场景:iOS 18+、macOS 15+,Swift 6.2+ 与 Xcode 16+;用于优化热点代码、审阅性能反模式、编写有性能要求的框架代码。
限制:需先做性能测量,存在类型开销等仅在高频路径中显著;InlineArray 等特性需较新工具链;部分做法(如 unowned、@inlinable)会带来崩溃风险或暴露实现细节,需权衡;资料未提供基准数据、收费与价格信息。