ios-performance-profiler
Installation
SKILL.md
Performance Profiler
View Identity & Diffing
- Stable, persistent identity (
Identifiablewith stableid, avoid random UUIDs in rows) - Prefer value types + structural identity over class reference identity when possible
- Avoid
.id()unless absolutely necessary (use stable keys instead)
Body Computation & Redraws
- No heavy work (network, decoding, sorting, filtering) inside
body - Expensive derived state computed once and stored (
.onAppear, ViewModel, or memoized computed property) -
@State,@Bindable,@Observableproperties are narrowly scoped - Child views extracted when parent state changes frequently
- Prefer
@Observable(Observation framework) over@ObservableObject/@Publishedfor new code — finer-grained invalidation, less boilerplate