Benchmarks

Apple Si dev machine, 10 physical cores — ratios and shapes, not absolutes. Every number traces to a named script + date (repo) — re-run it, don't trust it. Runtime-section numbers come from the experimental native runtime track, not the v0.1 default host.

Dev experience

metricvaluecontextrun
dev cold start (hello-world)59msmedian; next dev: seconds; Vite-classscripts/bench-dev-start.ts · 2026-06-10
HMR save → flight pushed73msmedian 8/8, healthy at 400ms rapid-save cadence; browser apply +≈10ms; the push loop IS production live-RSCscripts/bench-hmr.ts · 2026-06-10

Runtime

metricvaluecontextrun
V8 isolate boot (snapshot)11.9ms10× vs no snapshotPROBE=1 runtime-next/target/release/june-runtime · 2026-06-10
bundled+snapshot first render21.8msthe M3 target proofPROBE=1 runtime-next/target/release/june-runtime · 2026-06-10
cold start vs bare workerd82ms vs 78msspawn→first-200, same React-SSR hello fixture — par; warm trivial-page p50 3.1ms vs 0.35ms (pool-hop overhead = next lever)bench/workerd-waterfall/measure.ts · 2026-06-10
SSR load curve (POOL=8)4.7k rps peakknee c≈16-32, p99 10ms at knee; ~470 rps/core whole-machinebench/sweep.ts · 2026-06-10

Data layer

metricvaluecontextrun
native sqlite point lookup (Rust op in V8)0.77µs≈ 1.1× bun:sqlite, 29× WASMexperiments/orm-bench (deno-sqlite-op) · 2026-06-10
render-level auto-batch on Cloudflare D18.8×vs concurrent per-component queries (11.5× vs sequential)experiments/orm-bench/edge-d1 /render-bench · 2026-06-10
Postgres pipelining48k ops/s3.9× sequential (12.2k), batch=50, single connectionexperiments/orm-bench/pg-rust-pipeline · 2026-06-10