v135 · performance
Enabling Web Applications to understand bimodal performance timings
Web applications may suffer from bimodal distribution in page load performance due to factors outside of the application’s control. For example, when a user agent first launches in a "cold start" scenario, it must perform many expensive initialization tasks that compete for system resources. Browser extensions can also affect performance, since some extensio
concepts
-
Bimodal timings probe
Live read of
NavigationTiming.confidenceon the current page load — high vs low. -
Tell the user: this is a cold start
The motivating PWA scenario from the spec — branch on confidence to either show a "first launch" banner or exclude the slow path from your p75 dashboards.
-
Bimodal histogram explorer
Drag a slider to mix cold-start and warm-start samples. The histogram redraws, the median tightens, and the
confidenceflag flips from high to LOW when the distribution becomes bimodal — mirroring exactly how Chrome will tag suspect samples. -
Timer Distribution Lab
Collect real
requestAnimationFrametiming samples in your browser and plot the histogram. Vary the workload between frames to induce GC pauses and JIT jank, then read the bimodal score and P50/P95 spread — exactly the shape Chrome 145 lets you detect at runtime.
why it shipped
When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. Consequently, web applications may suffer from bimodal distribution in page load performance. Content they attempt to load will be in competition with other initialization work. This makes it difficult to detect if performance issues exist within web applications themselves, or because of a user-agent-generated condition of high resource contention. This is particularly a pain point for pinned PWAs (Progressive Web Apps) that will often re