Loading documentation…
Loading documentation…
| Parameter | Value |
|---|---|
bridgeRows | 1,000,000 |
bridgeInsertRows | 10,000 |
selectionRows | 64 |
selectionColumns | 64 |
blockRows | 1,000 |
blockColumns | 1,000 |
offlineCommits | 5,000 |
rebaseBlockRows | 1,000 |
rebaseBlockColumns | 100 |
rebaseInsertOperations | 50 |
sparseCells | 100,000 |
validationRules | 100 |
csvRows | 200,000 |
csvColumns | 10 |
clearRows | 1,000 |
clearColumns | 1,000 |
pagedRows | 200,000 |
| Scenario | Samples |
|---|---|
row-bridge-insert | 2 |
command-state-select | 10 |
with-command-state-handler | 10 |
without-command-state-handler | 10 |
setblock-admission | 3 |
setblock-detailed-capture | 3 |
sync-offline-queue | 5000 |
rebase-large | 3 |
validation-sparse | 3 |
csv-import | 2 |
undo-large-clear | 3 |
restore-near-ceiling | 3 |
paged-evicted-revisit | 3 |
node-cold-init | 6 |
Non-time evidence recorded by the same runs.
| Scenario | Counter | Value |
|---|---|---|
row-bridge-insert | bridgeRows | 1,000,000 |
row-bridge-insert | insertedRows | 10,000 |
command-state-select | selectedCells | 4,096 |
command-state-select | commandStateEvents | 13 |
command-state-select | withoutHandlerMedianMs | 7.436 |
setblock-admission | blockCells | 1,000,000 |
setblock-admission | transactions | 4 |
setblock-detailed-capture | blockCells | 1,000,000 |
setblock-detailed-capture | transactions | 4 |
setblock-detailed-capture | capturedChanges | 1,000,000 |
setblock-detailed-capture | validatedCapturedChanges | 1,000,000 |
sync-offline-queue | queuedCommits | 5,005 |
sync-offline-queue | admittedOperations | 5,005 |
rebase-large | blockCells | 100,000 |
rebase-large | insertOperations | 50 |
rebase-large | verifiedValues | 100,000 |
validation-sparse | writtenCells | 100,000 |
validation-sparse | logicalRangeCells | 1,000,000 |
validation-sparse | validationRules | 100 |
csv-import | importedRows | 200,000 |
csv-import | importedColumns | 10 |
csv-import | verifiedCells | 2,000,000 |
csv-import | inputChars | 20,888,985 |
undo-large-clear | clearedCells | 1,000,000 |
undo-large-clear | clears | 4 |
undo-large-clear | restoredCells | 1,000,000 |
undo-large-clear | compactRestores | 5 |
undo-large-clear | peakRssBytes | 1,099,108,352 |
restore-near-ceiling | restoredCells | 4,000,000 |
restore-near-ceiling | decodedBytes | 60,000,044 |
restore-near-ceiling | peakRssBytes | 1,445,208,064 |
paged-evicted-revisit | revisitedRows | 3 |
paged-evicted-revisit | areColumnsFullyLoadedCalls | 108 |
paged-evicted-revisit | evictionVisits | 3 |
paged-evicted-revisit | pagedRows | 200,000 |
node-cold-init | largestHeartbeatGapMs | 6.63 |
node-cold-init | minimalHeartbeatTicks | 1 |
node-cold-init | freshProcesses | 7 |
| Scenario | Checkpoint |
|---|---|
row-bridge-insert | projected delta is one row-structure insert with every created identity present in the bridge in order |
command-state-select | selection covers 4096 cells and the command-state handler observes one event per selection |
setblock-admission | every setBlock is applied and every cell of the block holds the last written value |
setblock-detailed-capture | every setBlock is applied and every cell of the block holds the last written value, and its change capture reports every cell's address, previous value, and new value exactly once |
sync-offline-queue | every commit is applied, the queue holds every commit at server version 0, and capacity stays available |
rebase-large | the block rebases without conflict, shifts down by exactly the inserted row count, keeps every source value, and leaves the caller's operations untouched |
validation-sparse | every write is applied, probe cells hold the last written values, every rule is retained, and a rule violation is still rejected |
csv-import | row count matches and every imported cell equals the source value for its row and column, including declared number/text types |
undo-large-clear | the clear empties the block and the undos restore every original cell value |
restore-near-ceiling | a valid near-ceiling compressed restore applies its complete block |
paged-evicted-revisit | the band is unloaded before each revisit, the revisit reloads it with the source values, and the revisit asks areColumnsFullyLoaded at least once; areColumnsFullyLoadedCalls per revisit is the accept metric |
node-cold-init | every fresh process loads the module, produces the expected engine result, and reports a plausible heartbeat gap |
Reproduce with:
bun run --filter @sheetwrite/bench bench:core-paths