All posts
ssrrustinternals

Streaming SSR in Rust at 0.90ms p50 Latency

How we combined Hyper, an embedded JavaScriptCore worker pool, and React 19 renderToReadableStream for sub-millisecond median latency.

Priya Singh··9 min read

Streaming Server-Side Rendering sounds straightforward on paper until you hit real production workloads: concurrent async Server Components, nested Suspense boundaries flushing out of order, and per-request isolation under heavy load.

In Swift Rust, incoming HTTP requests are terminated by a native Rust Hyper server and routed through a zero-copy radix tree before reaching our pre-warmed JavaScriptCore worker pool. That architecture gives us three critical advantages:

1. Immediate TTFB: The static shell flushes within hundreds of microseconds while async Server Components resolve in parallel. 2. Zero V8 Cold-Start Tax: Warm JSC contexts execute pre-bundled server trees in 0.90ms at p50 and 1.71ms at p95 under 16-connection concurrency. 3. Compile-Time Diagnostics: Our SWC compiler pass emits structured diagnostic codes (SR-E0001 through SR-E1404) with clear remediation hints before a broken boundary ever reaches production.