DOM & Web UI Workload · 100,000 Rows · 300 Events · dom.virtualized-grid.v1
100,000-row virtualized grid
A fresh worker schedules 300 trace events from 0 through 29,900 ms. Each slot must stay within ±20 ms of its 100 ms offset, and adjacent events must remain 80–120 ms apart. Each event transfers one typed command batch; the host applies its scroll offset and commands, waits for a browser paint, and then acknowledges the event. A missed slot rejects the run. Both targets run the identical trace; exact scheduling + DOM output is verified before any timing. The page uploads and stores nothing.
Run Benchmark Loop
Ready. Select target and loop iterations, then click Start.
What it does
Virtualized scrolling over 100,000 seeded rows with a strict paint-acknowledged event cadence — the workload behind infinite feeds and data grids.
Why compare Wasm vs JS
Scheduling typed command batches, scroll math, and DOM mounting under a hard timing budget is exactly where a Wasm implementation and the JS engine's own paths genuinely differ.
Fixed contract
100,000 seeded rows; 300 events at 100 ms trace cadence; 960×480 CSS-pixel viewport; DPR 2; 24 px rows; 20 visible rows; four-row overscan; at most 28 mounted row nodes.
Correctness evidence
The benchmark loop above times both engines. This section runs the frozen 300-event trace through either engine and validates the applied host DOM + exact result — timing and correctness never mix.
Ready. No worker is running.
Applied host DOM
Exact textual result
No result yet.