Desempenho
Além dos benefícios para a integridade dos dados, o cache normalizado com memoização em nível de entity permite ganhos significativos de desempenho em aplicações interativas e ricas.
Benchmarks de renderização do React
Pipeline de renderização completo (do fetch ao commit no DOM) medido em um navegador real via Playwright.1 A linha de base do React usa useEffect + useState, como na documentação do React.2
Ver código-fonte do benchmark · Metodologia e resultados · Desempenho ao longo do tempo
- Navegação em cache: Navegar dez vezes entre uma lista completa e os itens da lista.3
- Propagação de mutações: Uma única escrita no store atualiza todas as views que referenciam a entity.4
- Escala: Mutações com 10 mil itens renderizados na lista.5
Esses benchmarks medem o impacto do framework dentro de um sistema maior. Isso os torna mais úteis como comparações entre abordagens do que como medições absolutas do desempenho geral de uma aplicação. Nós os usamos para orientar as otimizações da biblioteca e detectar regressões de desempenho ao longo do tempo.
Benchmarks de normalização
Desnormalização comparada com a biblioteca legada normalizr. A memoização em nível de entity mantém a igualdade referencial global e acelera acessos repetidos, inclusive após mutações.