kitesurf · bench

internal perf dashboard · repo · /wpt

2860ms
headline: wikipedia-portal/kitesurf/screenshot · last run 2026-05-13 · commit 38553d0
runs/combo: 5 (+2 warmup) · backends: kitesurf, browser-run · endpoints: screenshot, html
note: first wall-time baseline (cacheTTL=0 for browser-run)

Trend — wikipedia-portal · wall time

kitesurf · screenshot · 38553d0 · 2860ms · first wall-time baseline (cacheTTL=0 for browser-run)kitesurf · html · 38553d0 · 1637ms · first wall-time baseline (cacheTTL=0 for browser-run)browser-run · screenshot · 38553d0 · 1266ms · first wall-time baseline (cacheTTL=0 for browser-run)browser-run · html · 38553d0 · 872ms · first wall-time baseline (cacheTTL=0 for browser-run) 2860ms 872ms 38553d0 38553d0 kitesurf · screenshotkitesurf · htmlbrowser-run · screenshotbrowser-run · html

Both backends run inside a single Cloudflare worker (kitesurf-bench). Wall time is measured by performance.now() around a single RPC dispatch per side: env.KITESURF.fetch(/screenshot|/html) for kitesurf, env.BROWSER.quickAction(…) for browser-run. No inter-machine network in the measurement.

Latest run · median wall time

page slug kitesurf · screenshotkitesurf · htmlbrowser-run · screenshotbrowser-run · html
Example Domain example-com 1437ms1290ms587ms513ms
Hacker News hacker-news 2296ms1486ms1752ms1472ms
Cloudflare Developer Docs cf-developers 2665ms1930ms1552ms1475ms
The Cloudflare Blog cf-blog 3755ms2528ms1132ms1252ms
Wikipedia Portal wikipedia-portal 2860ms1637ms1266ms872ms
TodoMVC · JavaScript ES6 todomvc-js-es6 2618ms1325ms858ms678ms
TodoMVC · React todomvc-react 2172ms1346ms962ms558ms
TodoMVC · Vue todomvc-vue 2611ms1378ms892ms732ms
TodoMVC · Angular todomvc-angular 2675ms1399ms910ms715ms
TodoMVC · Preact todomvc-preact 2576ms1327ms801ms725ms

Hover any cell for n / p95 / min / max.

History — wikipedia-portal

date commit kitesurf · screenshotkitesurf · htmlbrowser-run · screenshotbrowser-run · html note
2026-05-13 23:0738553d02860ms1637ms1266ms872msfirst wall-time baseline (cacheTTL=0 for browser-run)

Latest report (markdown)

# kitesurf bench report — 2026-05-13

commit: `38553d0` · backends: kitesurf, browser-run · endpoints: screenshot, html · runs/combo: 5 (+ 2 warmup)
target: https://kitesurf-bench.rendering.cfdata.org

> first wall-time baseline (cacheTTL=0 for browser-run)

## Summary (median wall time)

| Page | kitesurf/screenshot | kitesurf/html | browser-run/screenshot | browser-run/html |
|---|--:|--:|--:|--:|
| Example Domain | 1437ms | 1290ms | 587ms | 513ms |
| Hacker News | 2296ms | 1486ms | 1752ms | 1472ms |
| Cloudflare Developer Docs | 2665ms | 1930ms | 1552ms | 1475ms |
| The Cloudflare Blog | 3755ms | 2528ms | 1132ms | 1252ms |
| Wikipedia Portal | 2860ms | 1637ms | 1266ms | 872ms |
| TodoMVC · JavaScript ES6 | 2618ms | 1325ms | 858ms | 678ms |
| TodoMVC · React | 2172ms | 1346ms | 962ms | 558ms |
| TodoMVC · Vue | 2611ms | 1378ms | 892ms | 732ms |
| TodoMVC · Angular | 2675ms | 1399ms | 910ms | 715ms |
| TodoMVC · Preact | 2576ms | 1327ms | 801ms | 725ms |

Notes:

- Values are run medians across recorded runs. p95 and min/max are in the JSON.
- Both backends are invoked from inside the same Cloudflare worker (`packages/bench-report`) via RPC bindings: `env.KITESURF.fetch(/screenshot|/html)` and `env.BROWSER.quickAction('screenshot'|'content', …)`. Wall time is measured around a single `performance.now()` span on each side — no inter-machine network in the measurement.
- A cell shows `—` when every recorded run for that combination errored. See `rows` in the JSON for individual failure messages.

bundle built 2026-05-13T23:07:28.616Z