Performance
In addition to the data integirty benefits, normalized caching with entity-level memoization enables significant performance gains for rich interactive applications.
React rendering benchmarks
Full rendering pipeline (fetch through DOM commit) measured in a real browser via Playwright. React baseline uses useEffect + useState from the React docs.
- Cached Navigation: Navigating between a full list and items in the list ten times.
- Mutation Propagation: One store write updates every view that references the entity.
- Scaling: Mutations with 10k items in the list rendered.
These benchmarks measure the framework's impact within the larger system. That makes them most useful as comparisons between approaches, rather than as absolute measurements of an application's overall performance. We use them to guide library optimizations and catch performance regressions over time.
Normalization benchmarks
Denormalization compared with the legacy normalizr library. Entity-level memoization maintains global referential equality and speeds up repeated access, including after mutations.