Steve Souders avatar Steve Souders

Metrics from 1M Sites

Screenshot of “Metrics from 1M Sites”

What catches my eye are the gaps between TTFB and the paint metrics, and between the paint metrics and First CPU Idle. These gaps are caused by JavaScript dominating the browser main thread. This happens after TTFB when all the blocking scripts are executed – these have to finish before any rendering can happen.

The gap between the paint metrics and First CPU Idle is caused by subsequent scripts being executed and JavaScript frameworks building the DOM dynamically.

Emphasis is mine.

We really need to be more careful with the way we use JavaScript, and JavaScript libraries/framework, that more than often hurts performance.