Benchmarks
How long a render takes, how much CPU it uses and how much memory it holds, for Kitesurf, Browser Run and a cold Chrome. Last run 2026-09-25 at 01:17 UTC.
A typical page
The median across 38 pages, each one the median of 15 runs.
Wall time
Kitesurf: 1.18 s
- Browser Run654 ms
- Chrome (cold start)1.09 s
Kitesurf: 1.05 s
- Browser Run439 ms
- Chrome (cold start)953 ms
CPU time
Kitesurf: 491 ms
- Browser Run1.19 s
- Chrome (cold start)1.19 s
Kitesurf: 435 ms
- Browser Run788 ms
- Chrome (cold start)996 ms
Memory
Kitesurf: 38 MiB
- Browser Run271 MiB
- Chrome (cold start)335 MiB
Kitesurf: 17 MiB
- Browser Run269 MiB
- Chrome (cold start)323 MiB
Every page
Open a row for median, p95 and p99. The address bar keeps your view, so you can share it.
How we measure
For each page, endpoint and backend, the harness attempts 15 recorded renders after 2 warm-up renders. The default is the median, the middle sample after sorting. Choose p95 or p99 in Options to inspect the upper tail. With a small sample, both percentiles can select the same slowest render. This page shows the latest run because its corpus can change.
Wall time
Elapsed time for the render action as reported by the backend, not round-trip time from the benchmark client. Kitesurf's timer covers the request and reading the full screenshot or HTML response. Browser Run reports server-side time around the browser action. Neither includes network time between the client and Cloudflare. The Chrome (cold start) timer begins when Chrome is ready for CDP, so launch time is excluded.
CPU time
Processor time, not elapsed time; time spent waiting does not count. Kitesurf sums CPU across the main Worker, page JavaScript isolates and renderer. Browser Run and Container use their container-level CPU measurements. Chrome (cold start) adds the Node driver CPU to Chrome's CPU.
Memory
Absolute memory at capture, not the increase caused by one page. Kitesurf sums the main Worker, page JavaScript isolates and renderer. Chrome-backed measurements use proportional set size (PSS) across Chrome's process tree.
- Kitesurf: the total can include memory retained until the page closes.
- Browser Run: Chrome is reused, so its PSS can include memory retained from earlier pages.
- Chrome (cold start): each render gets a fresh Chrome process tree.