Find a performance recipe

Reduce requests, rendering, transfer, and main-thread work after measuring

Reduce network work

ProblemRecipe
Avoid repeated unchanged readsCache reference data
Use HTTP validatorsRevalidate with ETag
Delay, throttle, or cancel requestsControl repeated requests
Prefetch before a clickPrefetch a result

Reduce rendering work

ProblemRecipe
Page a large collectionPaginate on the server
Load more near the viewportBuild infinite scrolling
React to visibilityUse viewport observation
Keep simple reference dataUse caching

Move specialized work

ProblemRecipe
Receive incremental server changesUse server-sent events
Move CPU work off the main threadUse a worker
Run measured native computationUse WebAssembly
Move slow server work out of a requestRun a background job

Reduce shipped JavaScript

ProblemRecipe
The measured runtime contains unused featuresBuild a smaller production runtime