Performance Compliance

Performance compliance ensures that implementations remain responsive, efficient, and resource-conscious across all platforms. These checks cover main-thread discipline, animation smoothness, data loading strategies, memory and CPU usage, startup impact, image handling, caching, and user-perceived latency.

Applicability

This category applies to any recipe or guideline that renders UI, loads data, displays images, manages long-lived components, or performs work during app startup. If a recipe affects what the user sees or how quickly they see it, these checks apply.

Checks

main-thread-freedom

UI updates and rendering MUST NOT block the main thread.

Applies when: recipe performs computation, I/O, or network calls alongside UI rendering.

Guidelines:


animation-frame-rate

Animations MUST target 60fps; frames MUST NOT exceed 16ms.

Applies when: recipe includes animations, transitions, or motion effects.

Guidelines:


lazy-loading

Large data sets and heavy resources MUST use lazy loading or pagination.

Applies when: recipe displays lists, grids, or collections of unbounded size.

Guidelines:


resource-efficiency

Components MUST minimize memory allocations and CPU usage during idle states.

Applies when: recipe defines a long-lived component.


startup-impact

Components MUST NOT add measurable delay to app startup.

Applies when: recipe is loaded at launch.


image-optimization

Images MUST be appropriately sized, compressed, and use platform-preferred formats.

Applies when: recipe displays images.


caching-strategy

Frequently accessed remote data SHOULD use a caching strategy with defined invalidation.

Applies when: recipe fetches data from a remote source that is accessed repeatedly.

Guidelines:


progress-indication

Operations exceeding 200ms MUST show progress indication.

Applies when: recipe performs operations that may take a noticeable amount of time.

Guidelines:

version
1.0.0
status
draft
tags
compliance, performance
author
Mike Fullerton
modified
2026-03-28

Change History

Version Date Author Summary
1.0.0 2026-03-28 Mike Fullerton Initial creation