performance
Benchmarks
The same fixture source runs under both frameworks and bun bench measures them side by side. Every number below is one full run's output — no estimates, no best-of cherry-picking.
- First-page client JS (gzip)9.5–65× less
- Framework install size — 7.1 MB vs 420.7 MB59× smaller
- First page, cold10–12× faster
- Production build7.2–8.8× faster
- Warm request (dev)1.6–4.7× faster
- Dev server ready3.8–4.3× faster
- Dev server memory3.4–4.1× less
- Warm request (prod)2–3.4× faster
Ranges span all three fixtures. Absolute numbers per fixture are below. pnext trails on two metrics: dev warm requests on the larger fixtures, and production idle memory (~112 MB vs Next's ~86–91 MB, Bun's runtime baseline).
Category
Run
Payload metrics are measured on the built output, so they are neither a cold nor a warm run. Set Run back to All to see them.
pnextNext.js
hello-worldA single page.
Dev server ready
Dev first page HTML
Dev warm request (p50 of 7)
HMR save → visible
Production build (wall)
Prod start (ready)
Prod warm request (p50 of 7)
Dev server RSS (ready + 7 warm)
Prod build peak RSS
Prod server RSS (ready + 7 warm)
Framework install size
First-page client JS (gzip)
First-page client JS (raw)
First-page JS files
Zero-island route client JS
ssrA server-rendered site.
Dev server ready
Dev first page HTML
Dev warm request (p50 of 7)
HMR save → visible
Production build (wall)
Prod start (ready)
Prod warm request (p50 of 7)
Dev server RSS (ready + 7 warm)
Prod build peak RSS
Prod server RSS (ready + 7 warm)
Framework install size
First-page client JS (gzip)
First-page client JS (raw)
First-page JS files
Zero-island route client JS
dashboardA mid-size admin app — 30 routes, 18 client islands.
Dev server ready
Dev first page HTML
Dev warm request (p50 of 7)
HMR save → visible
Production build (wall)
Prod start (ready)
Prod warm request (p50 of 7)
Dev server RSS (ready + 7 warm)
Prod build peak RSS
Prod server RSS (ready + 7 warm)
Framework install size
First-page client JS (gzip)
First-page client JS (raw)
First-page JS files
Ratio is Next.js ÷ pnext, so above 1.00× means pnext is ahead. Lower is better for every metric here.
Client runtime bundles
| Runtime | Raw | Gzip | Brotli |
|---|---|---|---|
| router-prefetch-only | 473 B | 348 B | 283 B |
| combined-router-hydrator | 10.47 KB | 4.47 KB | 4.07 KB |
Method
- Run of 2026-08-20 on CI — Blacksmith 4 vCPU (Intel Xeon), 16 GB RAM, Ubuntu 22.04 x64. Bun 1.3.10, Next.js 16.2.12. 5 per metric (first discarded), medians reported.
- Every fixture runs unmodified on both frameworks (via
compat.next), same app from the same source. - Cold starts include on-demand compilation; memory is measured across the whole process tree at a fixed point, never sampled arbitrarily.
- Full details, targets, and the exact commands are in the performance reference.