Methodology

The current site presents captures from Nov 10 – 11, 2026. These results describe the recorded versions on the recorded host. They are historical evidence, not a claim about every framework's latest release.

SSR Rendering

Prepared input to one complete, independently owned HTML response. Each adapter uses its declared native output type; Proa’s fresh RenderBuffer excludes flattening to a String. Output boundaries and per-row capture dates are retained in the data. Compilation and fixture construction happen before timing; routing, HTTP, databases and hydration are excluded. The canonical suite validates semantic DOM parity before measuring. Headline values are medians of five independently measured process P50s.

Framework SSR

Production HTTP request, routing, SSR and framework response serialization to complete uncompressed HTML over loopback. Static fixture input is available locally; no database or external I/O. Full-document caching is disabled. This is a separate shared catalog contract for application frameworks. Generated classes and framework shells may differ; the same ordered business content, escaping, list roles and request-specific value must pass admission. Full-document caching is disabled. Capacity uses 64 connections; equal-load latency uses 50 scheduled requests/s, with 3 fresh server processes per phase kind. JavaScript frameworks run on Bun 1.4.2. Every response is validated, and incomplete or generator-limited runs are rejected. These numbers are not combined with pure render times.

HTTP

The normal production servers handle the same parity-gated pages over loopback HTTP/1.1. Capacity uses 64 keep-alive connections; fixed-rate phases measure latency at equal offered load. CPU and memory are server-process measurements. The load generator validates responses and checks that it is not the bottleneck.

Streaming

A 96-card grid arrives through eight async boundaries with 5–90 ms in-memory delays. Scheduled-arrival timings include queueing. Each load point has three measured phases. Wire sizes differ by replacement protocol. Failed requests remain recorded and do not become successful Flow particles.

Startup

Process spawn to the first complete, validated product-grid response. Fifteen fresh starts follow two untimed disk-cache warmups. Host activity influences these results. The boxes here describe individual start times.

Read the chart correctly

Read and reproduce the evidence

Canonical protocol ↗ · Reproduction commands ↗ · Artifact hashes

No single overall winner

These experiments measure different work. They do not jointly measure feature completeness, database workloads, developer experience, application complexity, native UI performance or every deployment environment.

Inclusion criteria

Frameworks, UI libraries and templating tools are classified by their scope. Inclusion requires public source, documented setup and a reproducible example; popularity is not an entry requirement.

Every measured adapter must use the same workload, pass output parity checks, declare production settings and versions, and retain its runs. Missing capabilities remain unmeasured. Exceptions and author affiliations are disclosed.