Got questions or doubts? Ping me on Discord
Speed
- 2,007 bytes What every page downloads, gzipped: the loader as served, nothing else
- 8.9 ms Loader start to the + painted, cold (3.4 ms warm)
- 42.6 ms Page navigation to the + painted, cold (13.8 ms warm)
- 59.0 ms Click to the panel's form on screen, cold (25.5 ms warm); the panel and its styles (29.1 KB gzipped) load only then, and the capture code right after the form shows
- 294 ms A manager's click on Board to the board with its 270 cards, cold; the board's code (11.0 KB gzipped) loads only then
- 1.6 ms The web board's frame while a card is dragged, at the median (4.8 ms at p95, 9.1 ms at p99, input to the end of style and layout); 120 fps leaves 8.33 ms
- 226 ms P99's own page, the account's address where people sign in: its first paint on a mid-range phone, cold and signed out (216 ms signed in), at 150 ms round trips, 1.6 Mbps and a 4x slower CPU
- 18.5 / 38.2 ms The Worker serving the loader, p50 and p99 (29.3 / 49.9 ms an item with its thread, 28.7 / 51.7 ms a board, 39.7 / 72.3 ms a list of 50, 60.0 / 92.5 ms a new item, 60.9 / 104 ms a move), on a local wrangler dev, not Cloudflare's edge
- 0.7 ms CLI start-up, p99 --version (0.9 ms p99 --demo list)
- 1.7 ms The TUI's start to its first frame at 120×34
- 0.35 ms The TUI board's worst frame at 120×34 while a card is dragged and slides; frames average 0.06 to 0.12 ms across the screens, and 120 fps leaves 8.33 ms
- 0 servers One Cloudflare Worker, D1 and R2 per account, with 0 runtime dependencies in the Worker
- 7.1 MB The p99 binary (3.2 MB gzipped), 14 direct crates, with the Worker and the widget inside
Measured on 2026-10-20 for P99 1.9.0 on an AMD Ryzen 9 9950X (32 threads), as P99's README at v1.9.2 records them with the load of the machine's other work: sizes with gzip -9; browser times in headless Chromium 154 on localhost against a local Worker, each the median of 5 runs of 10 page loads, the board's time from the pointer going down on Board; the web board's frames from 8 mouse drags of about 190 frames, each from its first input to the end of style and layout, without paint; the phone with Lighthouse's mobile throttling, 50 loads each; Worker times on a local wrangler dev, 400 requests of each after 30 to warm up; CLI and TUI on a release build. How each was taken