Sheetwrite

CAPABILITY / DATA & SCALE

One billion addresses. One bounded working set.

Drive a real 1,000,000 × 1,000financial operations Grid. Jump deep, edit a cell, then scroll wide—the sheet only loads the rectangle you visit.

Rows
1,000,000
Columns
1,000
Address space
1 billion
Loading
Requested tiles only

Loading the WASM engine on demand…

Loading GridWheel / trackpad · Page Up / Down · Shift-wheel to travel wide
100%

Live rectangular paging

Requested columns, returned columns, bounded owners

This source uses windowed column loading. Every request names exact sorted column bands; every row generates only those keys and returns explicit null blanks. Counts below come from that source and public Store and runtime diagnostics. The exact API setting is { protocol: 2, columns: "windowed" }.

Requests / aborts
0 / 0
Requested cells
0
0 B request JSON
Returned cells
0
0 B row JSON
Columns / returned row
0.00
current visible width 1
Resident tile payload
0 B
32 MiB cache ceiling · 0% resident
Dirty overlay
0 cells
0 B outside clean budget
Last returned tileWaiting for the first returned tile

Recent tile map

0 evicted · public load state at each tile origin

Move the Grid to populate this bounded request history.

Try incomplete global operationsSUM + full-sheet CSV

Incomplete global work stays typed and visible

A bounded working set cannot honestly answer a whole-sheet query or export. These controls call the real aggregate and CSV APIs; IncompleteDataErrorcarries the public loaded and total counts.

Measured ownership

Cache capacity is not logical size

Public resource report v separates logical live bytes, allocated owner capacity, and observed WASM committed pages. The clean page cache and sparse dirty overlay remain distinct owners.

Logical live payload
0 B
Allocated owner capacity
0 B
WASM committed pages
Unavailable
Inspect exclusive runtime owners0 active owners
Largest exclusive live owners in this mounted Grid.
OwnerLogicalAllocatedEntries

Measured operation cost

WASM crossings are counted, not guessed

Each control commits a real 20,000-cell Grid transaction and reads the public packed mutation and runtime ownership counters before and after it.

Run raw mutation diagnostics20,000-cell transactions

Decision record

The working set stays bounded as the address space grows.

The live Grid is the product proof. This secondary record answers one decision: repeated measured runs did not require a resident billion-cell matrix.

Scenario median

130.3×at one million rows
  1. 1,0007.2×
  2. 10,00010.7×
  3. 100,00026.3×
  4. 1,000,000130.3×

Log₁₀ axis: 1× is the parity baseline; farther right means a larger measured ratio. Exact ratios remain labeled. 12 matched scenarios at the largest capture size.

Lookup latency29.15 ns

from 44.43 ns · 34.4% lower

Inverse index3.9 MiB

from 64.0 MiB · 94.0% lower

100 distant edits5.5 KiB

from 5.2 MiB · sparse cells stay sparse

Owned cold long task0.0 ms

from 64.2 ms median

Inspect sources and methodology3 committed evidence files

bench/results/paged-results.jsonpaged-full-v1 (protocol v1, full mode, 12 runs) · 1,000,000 rows × 5 columns · 120-row pages

Startup
0.14 ms median
1.15 ms p95
First page
0.19 ms median
1.29 ms p95
Distant page
0.18 ms median
0.56 ms p95
Peak allocated
525.0 KiB

bench/results/interaction-results.jsoninteraction-full-v1 (protocol v1) · 5 samples · Chrome 140.0.7339.127 via Playwright 1.61.1 · commit 77c41983b5

docs/src/generated/landing-bench.jsonChromium 149.0.7827.55 · 10 rounds · commit 47f164385f

The live source adds a measured 90 ms delay after its first request so loading remains observable. Live diagnostics and checked captures stay separate.