Measurements, with their limits #
Different measurements answer different questions. Start with browser memory, then inspect paint timing or server throughput. These are historical, limited results, not a current framework ranking or an overall performance score. This page presents 14 selected configurations from the recorded snapshot.
The server snapshot contains one measured round. Browser metrics describe 10 isolated runs. Three WebUI hosts were selectively refreshed on 2026-09-04; the other 11 cases retain earlier official results. This is not a uniform rerun.
Lower uses less JS memory Post-readiness JavaScript heap after explicit Chromium garbage collection. This is not total browser memory.
Historical, limited, mixed-refresh data. Browser metrics: 10 isolated runs. Server metrics: 1 measured round.
Ordering is descriptive, not evidence of a statistically established winner.
Chromium 151.0.7922.34 · 1,440×900 viewport · 10 randomized cold-cache navigations · fresh foreground process/context/page per sample · native occlusion throttling disabled · no CPU or network throttling The summary does not establish every measured version, a complete environment record, or the browser response mode. See the provenance limits below. All five metrics are present without JavaScript. The table follows the plot's order.
At narrow widths, scroll the table horizontally. Expand a case for its selected-metric notes. 10 isolated runs · MAD <0.01 MiB · p95 2.1 MiB Refreshed 2026-09-04. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.1 MiB Refreshed 2026-09-04. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.1 MiB Refreshed 2026-09-04. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.1 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.45 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.66 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.87 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 2.92 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 3.3 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD 0 MiB · p95 3.45 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 3.7 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD 0 MiB · p95 4.64 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 4.84 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. 10 isolated runs · MAD <0.01 MiB · p95 5.24 MiB Earlier result; date not recorded. The measured framework/runtime versions are not fully recorded. MAD and p95 in the supplied notes are descriptive. In particular, server MAD of zero from one round cannot establish variability or confidence. Download the displayed data (JSON)Five metrics, all cases, and the same limitations. Not a complete reproducibility package.JavaScript heap MiB
Recorded setup for JavaScript heap
Data table and measurement notes 14 cases · all 5 metrics
Case and recorded notes JS heap
MiB · lowerRenderer private
MiB · lowerLCP
ms · lowerComplete
req/s · higherProgressive
req/s · higher
WebUI / Light DOM / Deno.serve
JavaScript heap notes
2.1 59.28 64 554.6 415.6
WebUI / Light DOM / Bun.serve
JavaScript heap notes
2.1 57.66 66 563.3 460.8
WebUI / Light DOM / Node node:http
JavaScript heap notes
2.1 58.07 66 609.45 434.45
WebUI / Light DOM / Rust / Actix
JavaScript heap notes
2.1 58.48 68 1,593.4 1,388.45
WebUI / Shadow DOM / Rust / Actix
JavaScript heap notes
2.45 65.09 84 1,261.65 1,091.75
Vue
JavaScript heap notes
2.66 61.98 84 265.2 114.85
Lit
JavaScript heap notes
2.87 73.31 78 69.9 8.5
React
JavaScript heap notes
2.92 63.72 84 319.35 267.85
React + TanStack Router
JavaScript heap notes
3.3 64.96 84 239.25 223.05
Nuxt
JavaScript heap notes
3.45 64.64 94 76 74
Next.js
JavaScript heap notes
3.69 65.81 92 138.4 141.6
Solid
JavaScript heap notes
4.64 68.54 124 280.7 242.7
SvelteKit
JavaScript heap notes
4.84 67.27 86 198.7 176.1
WebUI / FAST V3 / Rust / Actix
JavaScript heap notes
5.22 70.09 88 976.75 625.65
What this snapshot describes #
The recorded server workload uses 100 todos, 13 component types, 32 warm structural variants, and current UTC state materialized per request. It records 64 connections from two load workers against one server process/worker pinned to one CPU, with one 20-second measured round. Responses retain their natural byte sizes.
The browser setup identifies Chromium 151.0.7922.34, a 1,440 × 900 viewport, 10 randomized cold-cache navigations, and a fresh foreground process/context/page per sample. Native occlusion throttling was disabled; there was no CPU or network throttling. These are lab measurements, not field Core Web Vitals.
- JavaScript heap is recorded after readiness and explicit garbage collection. It is only part of browser memory.
- Renderer private bytes describe the isolated Chromium renderer process, not server RSS. Both memory metrics display MiB, where 1 MiB is 1,048,576 bytes; the download retains the original byte values.
- LCP is pre-interaction largest contentful paint from navigation start, in milliseconds. It does not describe interaction responsiveness.
- Complete and progressive throughput are requests per second under different response modes. The progressive category preserves each case's existing behavior, including buffered synchronous routes. A dedicated WebUI resumable async data-boundary workload was not measured.
Some server notes report still-rising 128-connection saturation probes. The displayed measurements remain the 64-connection results, not demonstrated maximum throughput. CPU/request and server RSS are different measurements; they are not combined with these five metrics or presented as an overall score.
What is missing #
The advertised benchmark source returned HTTP 404 without authentication during the website audit. We could not verify a publicly inspectable source revision or the full raw artifacts. We do not know whether that source is private, moved, or unavailable.
The available summary does not establish a complete per-case framework/runtime version trail, the original measurement dates for the other cases, a complete hardware/OS record, or an unambiguous browser response-mode record. The mention of WebUI 0.0.28 in capability metadata does not prove that every measurement used that version.
Only the WebUI Light DOM Bun.serve, Deno.serve, and Node node:http cases were refreshed on 2026-09-04. The diamond beside those labels records that provenance, not a quality rating.
One server round cannot estimate run-to-run variability. A MAD of zero in that record is not a confidence claim. Browser MAD and p95 notes remain descriptive; without the raw samples and a consistent comparison campaign, small differences must not be promoted as statistically established wins.
Inspect the data, then measure your application #
Download the displayed data as JSON. This generated, sanitized extract includes the 14 displayed cases, the five metrics, recorded notes, sampling information, and the limitations on this page. It omits bulk server telemetry and unsupported winner summaries. It makes the display inspectable; it is not a complete reproducibility package.
Use these results to frame questions, not to choose a framework from a single number. Response size, memory, startup, interaction, and sustained load each need measurement in your own environment. The performance guide explains where WebUI moves work and how to evaluate those tradeoffs.