Sheetwrite

CAPABILITY / DATA & SCALE

A billion cells. Within reach.

Explore 1,000,000 rows × 1,000 columns of financial operations. Visit any cell. Only the tiles you visit load.

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

Flight deck

Fly the Grid through a billion cells.

Each flight drives the real Grid below with public API calls. Nothing is pre-rendered.

Now at
A1
Frames per second
Run a flight to measure
Slowest 5% of frames
Run a flight to measure
Cells loaded in memory
0
0.0000% of the billion · 0 B
Tile requests
0
since the page opened

YOUR WINDOW IN 1,000,000 ROWSRows 1–1
0.00% through the sheet · 1 rows in view
Visited tiles loaded0 requests · 0 aborted0 B resident / 32 MiB ceiling
Loading GridColumns A–A of ALL · Shift-wheel to scroll wide
100%
Address / window
A1
A1:A1
1–1A–A
Selected cell input
Literal value
Requests / aborts
0 / 0
Resident tiles
0 live · 0 evicted
Resident tile payload
0 B
32 MiB cache ceiling · 0% resident
Renderer
canvas
Drawing pathcanvas renderer
Grid drawing path

Clean-cache ceiling

Remounts this Grid with a deliberately tight 1 MiB ceiling so clean tiles evict early; sparse edits survive.

Currently 32 MiB (product default).

Loading the WASM engine on demand…

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" }.

Inspect live requests, tile memory, and loading historyLive source counters
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
Cache use
0% of 32 MiB
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

The public resource report (loading report) 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

7.1×at one million rows
  1. 1,0006.5×
  2. 10,0006.4×
  3. 100,0008.2×
  4. 1,000,0007.1×

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

Lookup latency
21.40 ns12% lower than the previous release

Median address lookup. p95 35 ns, release ceiling 1,000 ns.

Inverse index
3.8 MiBunchanged from the previous release

Retained inverse row index for 1,000,000 rows. Ceiling 3.8 MiB.

100 distant edits
5.5 KiBunchanged from the previous release

Retained dirty-cell memory: sparse edits stay sparse. Ceiling 1.0 MiB.

Owned cold long task
0.0 msunchanged from the previous release

Longest Sheetwrite-owned task during a cold page load. Ceiling 50 ms.

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.12 ms median
1.09 ms p95
First page
0.18 ms median
1.00 ms p95
Distant page
0.17 ms median
1.04 ms p95
Peak allocated
525.0 KiB

bench/results/interaction-results.jsoninteraction-current-v2 (protocol v2, full mode) · 5 samples · Chromium 153.0.8010.12 · commit 49e05e298c

docs/src/generated/landing-bench.jsonChromium 153.0.8010.12 · 10 rounds · commit 49e05e298c

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