Benchmark evidence

Bun-native React SSR benchmarked against a modern Next.js baseline.

The current benchmark compares `react-bun-ssr` on Bun 1.3.12 with Next.js 15 and 16 across Node 22, Node 24, and Bun for two production SSR scenarios.

Is Bun faster than Node for React SSR?

In controlled SSR benchmarks, Bun demonstrates significantly higher throughput and lower latency compared to Node.js for content-heavy rendering workloads. However, results vary depending on application architecture, framework, and runtime versions.

Key results

Fast builds and strong content-heavy SSR throughput.

The strongest signal is the markdown route, which lines up with a core framework design choice: `.md` files are first-class routes in a Bun-native rendering pipeline.

Clean build0.13s

Median clean build for `react-bun-ssr`, compared with 2.12s for the fastest Next.js baseline.

/content8.4x

Approximate warm-serve req/s advantage in the markdown content scenario.

/data3.7x

Approximate warm-serve req/s advantage in the local-data SSR scenario.

Warm-serve benchmark scenarios
RouteScenarioreact-bun-ssrNext.js baseline
/contentDocs-like markdown content rendered as a first-class route.4939.52 req/s, 19.73ms avg latency, 24ms p95587.95 req/s, 168.99ms avg latency, 194ms p95
/dataLocal JSON read on every request plus server-rendered 100-item catalog HTML.874.11 req/s, 113.63ms avg latency, 158ms p95236.25 req/s, 421.62ms avg latency, 483ms p95

Honest scope

What this benchmark claims, and what it does not.

This page is a stable summary, not a broad performance promise. The full article keeps the methodology and interpretation explicit so the results stay useful and defensible.

  • Production mode only, with one app running at a time on localhost.
  • Same authored markdown fixture and same local-data SSR route shape.
  • No CDN, compression tuning, database, remote fetches, edge runtime, or dev mode.
  • Numbers are local-machine results, not a universal claim for every React app.

Next step

Use the benchmark as evidence, then evaluate the framework shape.

If the content-heavy SSR profile matches your app, start with the docs and reproduce the benchmark from the standalone repository before making architecture decisions.