Loading documentation…
Loading documentation…
Each suite ran once on 0.5.4 and once on 0.6.0, on the same machine. Change is 0.6.0 / 0.5.4 for the median, with the p95 ratio in brackets when it differs: below 1× is faster or smaller, above 1× is slower or larger. A suite with a documented budget marks rows beyond it as flagged; rows without a budget are only marked faster, slower, smaller or larger.
The summary counts Sheetwrite's own measurements. Lower and higher cover time, memory and counts alike; same is unchanged or within budget; new has no 0.5.4 counterpart. Apart counts Handsontable control runs and full-engine rows that repeat the formula tables, so a change is not counted twice or credited to Sheetwrite.
| Suite | Rows | Lower | Higher | Same | New | Flagged | Apart |
|---|---|---|---|---|---|---|---|
| Render scale | 112 | 16 | 39 | 1 | 0 | 0 | 56 |
| Interaction | 7 | 1 | 3 | 3 | 0 | 0 | 0 |
| Paged | 5 | 4 | 1 | 0 | 0 | 0 | 0 |
| Data | 89 | 62 | 25 | 2 | 0 | 0 | 0 |
| Core paths | 14 | 9 | 5 | 0 | 0 | 0 | 0 |
| Chart tracking | 34 | 0 | 0 | 0 | 34 | 0 | 0 |
| Pivot | 5 | 0 | 0 | 0 | 5 | 0 | 0 |
| Formula | 212 | 89 | 0 | 122 | 0 | 1 | 0 |
| Formula default | 212 | 81 | 0 | 130 | 0 | 1 | 0 |
| Formula full | 212 | 88 | 0 | 122 | 0 | 2 | 0 |
| Full engine | 458 | 14 | 0 | 18 | 2 | 0 | 424 |
| Full engine matched | 24 | 17 | 7 | 0 | 0 | 0 | 0 |
| Xlsx | 48 | 13 | 32 | 3 | 0 | 0 | 0 |
| Render baseline raw | 28 | 6 | 8 | 0 | 0 | 0 | 14 |
| Render baseline | 28 | 2 | 0 | 12 | 0 | 0 | 14 |
16 rows exceed their suite's budget or noise test. They stay listed here, not removed or adjusted against a control. A flag compares one capture of each release; it is not a controlled gate verdict.
| Suite | Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|---|
| Formula | Independent parse load · 10,000 | 6.06 ms / 6.43 ms | 5.97 ms / 8.62 ms | 0.99× (p95 1.34×) | Flagged |
| Formula default | Text lookup many sorted · 1,000 | 3.20 ms / 3.29 ms | 4.02 ms / 4.45 ms | 1.26× (p95 1.35×) | Flagged |
| Formula full | Independent parse load · 1,000 | 0.83 ms / 0.96 ms | 1.21 ms / 1.57 ms | 1.46× (p95 1.64×) | Flagged |
| Formula full | Text lookup many · 1,000 | 2.12 ms / 2.17 ms | 2.45 ms / 3.22 ms | 1.16× (p95 1.48×) | Flagged |
| Full engine · repeat of formula table | Default · text lookup many sorted · 1,000 | 3.20 ms / 3.29 ms | 4.02 ms / 4.45 ms | 1.26× (p95 1.35×) | Flagged |
| Full engine · repeat of formula table | Full · independent parse load · 1,000 | 0.83 ms / 0.96 ms | 1.21 ms / 1.57 ms | 1.46× (p95 1.64×) | Flagged |
| Full engine · repeat of formula table | Full · text lookup many · 1,000 | 2.12 ms / 2.17 ms | 2.45 ms / 3.22 ms | 1.16× (p95 1.48×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · altering · insert 5 rows top | 14.5 ms / 21.2 ms | 17.3 ms / 18.8 ms | 1.19× (p95 0.89×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · altering · remove 5 rows top | 12.5 ms / 15.5 ms | 15.0 ms / 15.8 ms | 1.20× (p95 1.02×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · edit commit · middle | 4.95 ms / 5.52 ms | 7.80 ms / 8.18 ms | 1.58× (p95 1.48×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · formatted paint · top left | 3.36 ms / 3.72 ms | 6.14 ms / 7.65 ms | 1.83× (p95 2.05×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · merge heavy · paint | 3.48 ms / 3.76 ms | 6.37 ms / 6.54 ms | 1.83× (p95 1.74×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · scroll down · middle | 4.00 ms / 4.98 ms | 6.86 ms / 9.86 ms | 1.71× (p95 1.98×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · scroll down · top left | 15.8 ms / 16.0 ms | 21.3 ms / 21.9 ms | 1.35× | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · scroll right · top left | 10.6 ms / 10.7 ms | 16.4 ms / 17.8 ms | 1.56× (p95 1.66×) | Flagged |
| Render baseline · Handsontable control | Handsontable · 100,000 rows · scroll smooth · same window | 7.72 ms / 8.33 ms | 10.5 ms / 11.3 ms | 1.36× | Flagged |
Each flag compares one 0.6.0 capture with one fresh 0.5.4 capture of the same suite. A flag means that pair exceeded the suite's documented budget; it is not a controlled confirmation of a regression.
All nine render-baseline.json flags are Handsontable rows. Handsontable is the comparison control and is version 18.1.2 on both sides, so these flags reflect variation between the two capture sessions, not a Sheetwrite change. The cause is not isolated, and the rows are not normalized or suppressed. They also indicate how much render timing can move between sessions on this machine.
The aggregate full-engine-results.json table repeats three flags from the default and full formula tables. They are the same measurements, not independent replications.
Four distinct formula rows are flagged: 10k parse-load p95, default-engine sorted text lookup, full-engine 1k parse-load and full-engine text lookup. Each was re-measured with the frozen harness's own workload factories, running every preceding workload in its original order, in 20 fresh processes per side: 10 interleaved ABBA blocks, 100 timed samples per row and side, on the full CPU mask.
Paired ratios, 0.6 / 0.5.4, with 99% block-bootstrap intervals: 10k parse-load median 0.987 [0.934, 1.041], p95 1.004 [0.940, 1.066]; full-engine 1k parse-load median 0.997 [0.927, 1.079], p95 1.039 [0.973, 1.118]; default-engine sorted text lookup median 1.044 [1.015, 1.077], p95 1.000 [0.883, 1.094]; full-engine text lookup median 1.128 [1.094, 1.170], p95 1.142 [1.086, 1.222].
The two parse-load flags did not reproduce. Text lookup is slower in 0.6: about 4% with the default engine and about 13% with the full engine. Both are within the 25% release budget, but they are real costs. Data: bench/results/capture-attempts/formula-prefix-summary.json, raw samples in formula-prefix-10.json.gz.
The separate paired formula gate passed all 52 rows at 8ac21089, using engine binaries that match ac4ab632 by SHA-256. Log: bench/results/capture-attempts/formula-paired-gate.log.
Formula suites run on the full logical CPU mask on an otherwise quiet machine, as the 0.4.0 and 0.5.0 captures did. Earlier 0.6.0 attempts pinned the process to one CPU, then to two. Both starve JavaScriptCore's background WebAssembly compiler, which then competes with the timed work.
On one CPU, the 1k parse-load row split into fast and slow groups for both engines and failed the absolute gate twice. On two CPUs, XIRR after LINEST looked 44% slower; the same worker on the full mask measured 0.6 faster, with a paired ratio of 0.728 [0.651, 0.797]. These superseded captures and failed receipts remain under bench/results/capture-attempts/ as diagnostics and are not mixed into these tables. No engine change, delay, JIT flag or relaxed budget was used.
These suites run in Bun, which uses JavaScriptCore. Most browsers running Sheetwrite use V8, whose WebAssembly compilation tiers differ, so cold-compilation effects measured here may not carry over to Chrome.
Capture receipts record command arguments without this machine's directories: a path inside the repository is repository-relative, and any other path keeps only its last segment under <external>. Four receipts captured before that rule had their arguments rewritten the same way; nothing else in them changed.
The 0.5.4 plain-formula baseline was captured a second time with a repository-relative output path, because the first capture wrote this machine's path into the result file. The replaced capture is kept as capture-attempts/formula-before-portability-baseline.json.gz, with machine directory prefixes replaced by placeholders.
The 0.6.0 captures ran on commit ac4ab632, which is not published because its tree holds receipts written before the argument rule above. Its packages are byte-identical to the 0.6.0 packages in this release; it differs only in benchmark tooling and results. The 0.5.4 baseline ran on dcfb2037, the 0.5.4 release branch before it was squash-merged; its packages are byte-identical to the published 0.5.4 release, 37fed9c7 on develop.
The 0.6.0 candidate is the release stack before its version bump, so raw package-version strings can still read 0.5.4; commits and loaded binary hashes identify the engines. Older committed 0.5.x results are history only, not comparison inputs.
Both releases were captured on the same machine and toolchain, one suite at a time, each in its own scope with a 8G memory cap. The parent slice's memory-high counter must stay unchanged during a suite. Each suite uses the same effective CPU mask on both sides; the comparison refuses a mismatch.
| Suite | Effective CPU mask |
|---|---|
| Chart tracking | 4 |
| Core paths | 4 |
| Data | 4 |
| Formula | 0-19 |
| Formula engines | 0-19 |
| Formula matched | 0-19 |
| Interaction | 4 |
| Paged | 4 |
| Pivot | 4 |
| Regression baseline | 4 |
| Render scale | 4 |
| Xlsx | 4 |
For data captures, a full garbage collection runs between samples, untimed. Each ingest sample also gets a fresh happy-dom document after the prior sample has released its store or grid. Both versions use data protocol v2. Mixed protocol versions are rejected.
Formula tables compare the 0.5.4 engine (WASM) under the 0.6 core and harness with the 0.6 engine under that same core and harness. They isolate the engine difference only. The source records both commits and the hashes of the loaded binaries. Grid constant edits and Node initialization time current-core paths, so those measurements are 0.6-only and have no version ratio.
Comparison base: release/version-0.5.4 at dcfb2037cc34. Candidate: ac4ab632d80a.
Each suite's full table, closed. Hover a measurement for its key in the raw artifact.
Artifact bench/results/render-scale.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-28 16:36 UTC. Candidate: ac4ab632d80a · 2026-10-28 17:15 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Handsontable · 1,000,000 rows · altering · insert 5 rows top | 91.7 ms / 175 ms | 95.2 ms / 165 ms | 1.04× (p95 0.94×) | Slower |
| Handsontable · 1,000,000 rows · altering · remove 5 rows top | 76.8 ms / 81.1 ms | 79.7 ms / 124 ms | 1.04× (p95 1.52×) | Slower |
| Handsontable · 1,000,000 rows · arrow down · top left | 1.31 ms / 1.38 ms | 1.38 ms / 1.47 ms | 1.05× | Slower |
| Handsontable · 1,000,000 rows · arrow right · middle | 1.21 ms / 1.29 ms | 1.31 ms / 1.36 ms | 1.08× | Slower |
| Handsontable · 1,000,000 rows · edit commit · middle | 4.64 ms / 4.80 ms | 7.59 ms / 7.88 ms | 1.64× | Slower |
| Handsontable · 1,000,000 rows · edit open · bottom right | 1.31 ms / 1.37 ms | 1.44 ms / 1.71 ms | 1.10× (p95 1.25×) | Slower |
| Handsontable · 1,000,000 rows · edit open · middle | 1.01 ms / 2.33 ms | 1.03 ms / 1.08 ms | 1.02× (p95 0.46×) | Slower |
| Handsontable · 1,000,000 rows · edit open · top left | 0.98 ms / 1.01 ms | 1.02 ms / 1.09 ms | 1.04× | Slower |
| Handsontable · 1,000,000 rows · formatted paint · top left | 3.15 ms / 3.22 ms | 5.95 ms / 6.10 ms | 1.89× | Slower |
| Handsontable · 1,000,000 rows · merge heavy · paint | 3.40 ms / 3.62 ms | 6.28 ms / 6.34 ms | 1.85× (p95 1.75×) | Slower |
| Handsontable · 1,000,000 rows · scroll down · middle | 3.93 ms / 6.72 ms | 6.75 ms / 7.26 ms | 1.72× (p95 1.08×) | Slower |
| Handsontable · 1,000,000 rows · scroll down · top left | 14.4 ms / 14.9 ms | 20.3 ms / 21.0 ms | 1.41× | Slower |
| Handsontable · 1,000,000 rows · scroll right · top left | 10.3 ms / 10.5 ms | 16.0 ms / 16.6 ms | 1.55× | Slower |
| Handsontable · 1,000,000 rows · scroll smooth · same window | 7.36 ms / 7.69 ms | 10.3 ms / 10.5 ms | 1.40× | Slower |
| Handsontable · 100,000 rows · altering · insert 5 rows top | 13.2 ms / 18.2 ms | 15.9 ms / 19.6 ms | 1.21× (p95 1.08×) | Slower |
| Handsontable · 100,000 rows · altering · remove 5 rows top | 11.5 ms / 12.0 ms | 14.7 ms / 15.3 ms | 1.28× | Slower |
| Handsontable · 100,000 rows · arrow down · top left | 1.32 ms / 1.85 ms | 1.40 ms / 1.75 ms | 1.07× (p95 0.94×) | Slower |
| Handsontable · 100,000 rows · arrow right · middle | 1.24 ms / 1.32 ms | 1.31 ms / 1.43 ms | 1.06× | Slower |
| Handsontable · 100,000 rows · edit commit · middle | 4.62 ms / 5.46 ms | 7.60 ms / 7.86 ms | 1.64× (p95 1.44×) | Slower |
| Handsontable · 100,000 rows · edit open · bottom right | 1.32 ms / 1.62 ms | 1.43 ms / 1.76 ms | 1.08× | Slower |
| Handsontable · 100,000 rows · edit open · middle | 0.96 ms / 1.24 ms | 1.03 ms / 1.26 ms | 1.07× | Slower |
| Handsontable · 100,000 rows · edit open · top left | 0.98 ms / 1.16 ms | 1.05 ms / 1.18 ms | 1.07× (p95 1.02×) | Slower |
| Handsontable · 100,000 rows · formatted paint · top left | 3.21 ms / 3.71 ms | 6.03 ms / 6.54 ms | 1.88× (p95 1.76×) | Slower |
| Handsontable · 100,000 rows · merge heavy · paint | 3.38 ms / 3.57 ms | 6.25 ms / 6.54 ms | 1.85× | Slower |
| Handsontable · 100,000 rows · scroll down · middle | 4.05 ms / 4.67 ms | 6.85 ms / 7.77 ms | 1.69× | Slower |
| Handsontable · 100,000 rows · scroll down · top left | 14.6 ms / 15.0 ms | 20.4 ms / 20.9 ms | 1.40× | Slower |
| Handsontable · 100,000 rows · scroll right · top left | 10.2 ms / 10.4 ms | 15.9 ms / 16.9 ms | 1.57× (p95 1.62×) | Slower |
| Handsontable · 100,000 rows · scroll smooth · same window | 7.32 ms / 7.66 ms | 10.2 ms / 10.5 ms | 1.40× | Slower |
| Handsontable · 10,000 rows · altering · insert 5 rows top | 5.95 ms / 6.79 ms | 8.98 ms / 10.3 ms | 1.51× | Slower |
| Handsontable · 10,000 rows · altering · remove 5 rows top | 5.67 ms / 6.70 ms | 8.69 ms / 10.1 ms | 1.53× | Slower |
| Handsontable · 10,000 rows · arrow down · top left | 1.31 ms / 1.74 ms | 1.46 ms / 1.83 ms | 1.11× (p95 1.05×) | Slower |
| Handsontable · 10,000 rows · arrow right · middle | 1.22 ms / 1.57 ms | 1.30 ms / 1.84 ms | 1.06× (p95 1.17×) | Slower |
| Handsontable · 10,000 rows · edit commit · middle | 4.59 ms / 5.16 ms | 7.53 ms / 7.95 ms | 1.64× (p95 1.54×) | Slower |
| Handsontable · 10,000 rows · edit open · bottom right | 1.30 ms / 1.46 ms | 1.40 ms / 1.59 ms | 1.08× | Slower |
| Handsontable · 10,000 rows · edit open · middle | 0.96 ms / 1.09 ms | 1.01 ms / 1.13 ms | 1.06× | Slower |
| Handsontable · 10,000 rows · edit open · top left | 0.98 ms / 1.07 ms | 1.05 ms / 1.15 ms | 1.08× | Slower |
| Handsontable · 10,000 rows · formatted paint · top left | 3.16 ms / 3.42 ms | 5.97 ms / 6.19 ms | 1.89× (p95 1.81×) | Slower |
| Handsontable · 10,000 rows · merge heavy · paint | 3.38 ms / 3.59 ms | 6.16 ms / 6.49 ms | 1.82× | Slower |
| Handsontable · 10,000 rows · scroll down · middle | 3.99 ms / 4.25 ms | 6.73 ms / 7.71 ms | 1.69× (p95 1.81×) | Slower |
| Handsontable · 10,000 rows · scroll down · top left | 14.4 ms / 14.9 ms | 20.2 ms / 21.0 ms | 1.41× | Slower |
| Handsontable · 10,000 rows · scroll right · top left | 10.3 ms / 11.7 ms | 16.0 ms / 18.4 ms | 1.56× | Slower |
| Handsontable · 10,000 rows · scroll smooth · same window | 7.29 ms / 7.54 ms | 10.2 ms / 10.4 ms | 1.40× | Slower |
| Handsontable · 1,000 rows · altering · insert 5 rows top | 5.37 ms / 6.28 ms | 8.40 ms / 9.04 ms | 1.56× (p95 1.44×) | Slower |
| Handsontable · 1,000 rows · altering · remove 5 rows top | 5.22 ms / 5.88 ms | 8.12 ms / 9.03 ms | 1.56× | Slower |
| Handsontable · 1,000 rows · arrow down · top left | 1.34 ms / 1.55 ms | 1.42 ms / 1.77 ms | 1.06× (p95 1.14×) | Slower |
| Handsontable · 1,000 rows · arrow right · middle | 1.24 ms / 1.54 ms | 1.32 ms / 1.62 ms | 1.07× | Slower |
| Handsontable · 1,000 rows · edit commit · middle | 4.59 ms / 5.27 ms | 7.50 ms / 8.08 ms | 1.63× (p95 1.53×) | Slower |
| Handsontable · 1,000 rows · edit open · bottom right | 1.32 ms / 1.44 ms | 1.39 ms / 1.54 ms | 1.06× | Slower |
| Handsontable · 1,000 rows · edit open · middle | 0.95 ms / 1.05 ms | 1.02 ms / 1.12 ms | 1.07× | Slower |
| Handsontable · 1,000 rows · edit open · top left | 0.97 ms / 1.07 ms | 1.04 ms / 1.14 ms | 1.07× | Slower |
| Handsontable · 1,000 rows · formatted paint · top left | 3.21 ms / 3.53 ms | 6.00 ms / 6.47 ms | 1.87× | Slower |
| Handsontable · 1,000 rows · merge heavy · paint | 3.70 ms / 3.85 ms | 6.40 ms / 6.85 ms | 1.73× | Slower |
| Handsontable · 1,000 rows · scroll down · middle | 3.90 ms / 4.19 ms | 6.65 ms / 7.55 ms | 1.71× (p95 1.80×) | Slower |
| Handsontable · 1,000 rows · scroll down · top left | 14.4 ms / 15.0 ms | 20.2 ms / 21.0 ms | 1.40× | Slower |
| Handsontable · 1,000 rows · scroll right · top left | 10.2 ms / 11.1 ms | 16.3 ms / 17.6 ms | 1.59× | Slower |
| Handsontable · 1,000 rows · scroll smooth · same window | 7.36 ms / 7.96 ms | 10.2 ms / 10.4 ms | 1.39× (p95 1.31×) | Slower |
| Sheetwrite · 1,000,000 rows · altering · insert 5 rows top | 12.0 ms / 12.2 ms | 12.5 ms / 12.6 ms | 1.04× | Slower |
| Sheetwrite · 1,000,000 rows · altering · remove 5 rows top | 12.0 ms / 12.5 ms | 12.4 ms / 12.8 ms | 1.03× | Slower |
| Sheetwrite · 1,000,000 rows · arrow down · top left | 0.61 ms / 1.37 ms | 0.59 ms / 1.23 ms | 0.97× (p95 0.90×) | Faster |
| Sheetwrite · 1,000,000 rows · arrow right · middle | 0.61 ms / 1.24 ms | 0.60 ms / 1.43 ms | 1.00× (p95 1.16×) | Faster |
| Sheetwrite · 1,000,000 rows · edit commit · middle | 0.82 ms / 1.44 ms | 0.87 ms / 1.57 ms | 1.06× | Slower |
| Sheetwrite · 1,000,000 rows · edit open · bottom right | 0.45 ms / 1.44 ms | 0.46 ms / 1.51 ms | 1.02× | Slower |
| Sheetwrite · 1,000,000 rows · edit open · middle | 0.58 ms / 1.52 ms | 0.56 ms / 1.30 ms | 0.95× (p95 0.86×) | Faster |
| Sheetwrite · 1,000,000 rows · edit open · top left | 0.50 ms / 1.42 ms | 0.58 ms / 1.37 ms | 1.15× (p95 0.96×) | Slower |
| Sheetwrite · 1,000,000 rows · formatted paint · top left | 0.41 ms / 0.70 ms | 4 µs | 0.01× | Faster |
| Sheetwrite · 1,000,000 rows · merge heavy · paint | 3 µs | 3 µs | 1.00× | Unchanged |
| Sheetwrite · 1,000,000 rows · scroll down · middle | 1.10 ms / 1.81 ms | 1.12 ms / 1.67 ms | 1.02× (p95 0.93×) | Slower |
| Sheetwrite · 1,000,000 rows · scroll down · top left | 1.11 ms / 1.18 ms | 1.16 ms / 1.26 ms | 1.05× | Slower |
| Sheetwrite · 1,000,000 rows · scroll right · top left | 0.27 ms / 0.41 ms | 0.26 ms / 0.40 ms | 0.99× | Faster |
| Sheetwrite · 1,000,000 rows · scroll smooth · same window | 0.38 ms / 0.39 ms | 0.39 ms / 0.40 ms | 1.03× | Slower |
| Sheetwrite · 100,000 rows · altering · insert 5 rows top | 1.77 ms / 1.93 ms | 1.87 ms / 2.08 ms | 1.06× | Slower |
| Sheetwrite · 100,000 rows · altering · remove 5 rows top | 1.57 ms / 1.65 ms | 1.67 ms / 1.80 ms | 1.06× | Slower |
| Sheetwrite · 100,000 rows · arrow down · top left | 0.65 ms / 0.73 ms | 0.68 ms / 0.76 ms | 1.04× | Slower |
| Sheetwrite · 100,000 rows · arrow right · middle | 0.66 ms / 0.74 ms | 0.68 ms / 0.76 ms | 1.02× | Slower |
| Sheetwrite · 100,000 rows · edit commit · middle | 0.91 ms / 1.04 ms | 0.96 ms / 1.15 ms | 1.05× (p95 1.11×) | Slower |
| Sheetwrite · 100,000 rows · edit open · bottom right | 0.53 ms / 0.58 ms | 0.55 ms / 0.60 ms | 1.03× | Slower |
| Sheetwrite · 100,000 rows · edit open · middle | 0.63 ms / 0.73 ms | 0.67 ms / 0.74 ms | 1.05× | Slower |
| Sheetwrite · 100,000 rows · edit open · top left | 0.56 ms / 0.61 ms | 0.59 ms / 0.62 ms | 1.04× | Slower |
| Sheetwrite · 100,000 rows · formatted paint · top left | 0.47 ms / 0.53 ms | 4 µs | 0.01× | Faster |
| Sheetwrite · 100,000 rows · merge heavy · paint | 3 µs / 4 µs | 3 µs / 5 µs | 1.00× (p95 1.23×) | Faster |
| Sheetwrite · 100,000 rows · scroll down · middle | 1.13 ms / 1.26 ms | 1.21 ms / 1.34 ms | 1.07× | Slower |
| Sheetwrite · 100,000 rows · scroll down · top left | 1.18 ms / 1.27 ms | 1.23 ms / 1.48 ms | 1.04× (p95 1.17×) | Slower |
| Sheetwrite · 100,000 rows · scroll right · top left | 0.26 ms / 0.32 ms | 0.25 ms / 0.35 ms | 0.98× (p95 1.10×) | Faster |
| Sheetwrite · 100,000 rows · scroll smooth · same window | 0.38 ms | 0.39 ms / 0.42 ms | 1.03× | Slower |
| Sheetwrite · 10,000 rows · altering · insert 5 rows top | 1.04 ms / 1.17 ms | 1.06 ms / 1.22 ms | 1.02× | Slower |
| Sheetwrite · 10,000 rows · altering · remove 5 rows top | 1.10 ms / 1.21 ms | 1.11 ms / 1.23 ms | 1.01× | Slower |
| Sheetwrite · 10,000 rows · arrow down · top left | 0.65 ms / 0.70 ms | 0.67 ms / 0.70 ms | 1.02× | Slower |
| Sheetwrite · 10,000 rows · arrow right · middle | 0.65 ms / 0.72 ms | 0.66 ms / 0.74 ms | 1.02× | Slower |
| Sheetwrite · 10,000 rows · edit commit · middle | 0.90 ms / 1.00 ms | 0.96 ms / 1.10 ms | 1.06× | Slower |
| Sheetwrite · 10,000 rows · edit open · bottom right | 0.54 ms / 0.61 ms | 0.54 ms / 0.63 ms | 1.00× | Faster |
| Sheetwrite · 10,000 rows · edit open · middle | 0.64 ms / 0.68 ms | 0.66 ms / 0.71 ms | 1.03× | Slower |
| Sheetwrite · 10,000 rows · edit open · top left | 0.57 ms / 0.63 ms | 0.57 ms / 0.65 ms | 1.00× | Slower |
| Sheetwrite · 10,000 rows · formatted paint · top left | 0.46 ms / 0.49 ms | 4 µs | 0.01× | Faster |
| Sheetwrite · 10,000 rows · merge heavy · paint | 3 µs / 4 µs | 3 µs / 5 µs | 1.00× (p95 1.11×) | Faster |
| Sheetwrite · 10,000 rows · scroll down · middle | 1.15 ms / 1.22 ms | 1.20 ms / 1.29 ms | 1.04× | Slower |
| Sheetwrite · 10,000 rows · scroll down · top left | 1.17 ms / 1.31 ms | 1.24 ms / 1.35 ms | 1.07× | Slower |
| Sheetwrite · 10,000 rows · scroll right · top left | 0.27 ms / 0.30 ms | 0.26 ms / 0.33 ms | 0.99× (p95 1.10×) | Faster |
| Sheetwrite · 10,000 rows · scroll smooth · same window | 0.37 ms / 0.40 ms | 0.40 ms / 0.42 ms | 1.06× | Slower |
| Sheetwrite · 1,000 rows · altering · insert 5 rows top | 1.00 ms / 1.11 ms | 1.03 ms / 1.17 ms | 1.03× | Slower |
| Sheetwrite · 1,000 rows · altering · remove 5 rows top | 1.06 ms / 1.17 ms | 1.06 ms / 1.18 ms | 1.00× | Faster |
| Sheetwrite · 1,000 rows · arrow down · top left | 0.66 ms / 0.70 ms | 0.69 ms / 0.75 ms | 1.04× | Slower |
| Sheetwrite · 1,000 rows · arrow right · middle | 0.67 ms / 0.73 ms | 0.67 ms / 0.73 ms | 1.01× | Slower |
| Sheetwrite · 1,000 rows · edit commit · middle | 0.90 ms / 1.03 ms | 0.94 ms / 1.09 ms | 1.05× | Slower |
| Sheetwrite · 1,000 rows · edit open · bottom right | 0.55 ms / 0.57 ms | 0.55 ms / 0.60 ms | 1.01× | Slower |
| Sheetwrite · 1,000 rows · edit open · middle | 0.65 ms / 0.68 ms | 0.67 ms / 0.72 ms | 1.03× | Slower |
| Sheetwrite · 1,000 rows · edit open · top left | 0.58 ms / 0.64 ms | 0.58 ms / 0.69 ms | 1.01× (p95 1.08×) | Slower |
| Sheetwrite · 1,000 rows · formatted paint · top left | 0.46 ms / 0.48 ms | 4 µs | 0.01× | Faster |
| Sheetwrite · 1,000 rows · merge heavy · paint | 3 µs / 4 µs | 3 µs / 4 µs | 0.97× (p95 1.09×) | Faster |
| Sheetwrite · 1,000 rows · scroll down · middle | 1.21 ms / 1.30 ms | 1.17 ms / 1.30 ms | 0.97× | Faster |
| Sheetwrite · 1,000 rows · scroll down · top left | 1.15 ms / 1.31 ms | 1.26 ms / 1.37 ms | 1.09× | Slower |
| Sheetwrite · 1,000 rows · scroll right · top left | 0.27 ms / 0.31 ms | 0.27 ms / 0.32 ms | 1.02× | Slower |
| Sheetwrite · 1,000 rows · scroll smooth · same window | 0.37 ms / 0.40 ms | 0.39 ms / 0.42 ms | 1.04× | Slower |
Artifact bench/results/interaction-results.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-28 17:16 UTC. Candidate: ac4ab632d80a · 2026-10-28 17:16 UTC.
Threshold: absolute-ceiling. lookupP95Ns uses the median; byte and owned long-task ceilings apply to every sample. Historical deltas are descriptive, not relative gates. Source: bench/src/interaction-gate.ts.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Dirty100 bytes | 5.5 KiB | 5.5 KiB | 1.00× | Unchanged |
| Inverse index bytes | 3.8 MiB | 3.8 MiB | 1.00× | Unchanged |
| Lookup median ns | 19.9 ns / 20.8 ns | 21.0 ns / 21.4 ns | 1.05× | Slower |
| Lookup p95 ns | 251.9 ns / 348.1 ns | 250.1 ns / 318.5 ns | 0.99× (p95 0.92×) | Faster |
| Owned cold long task ms | 0.00 ms | 0.00 ms | 1.00× | Unchanged |
| Unattributed cold long task ms | 94.6 ms / 99.1 ms | 99.2 ms / 107 ms | 1.05× | Slower |
| Usable ms | 1.10 s / 1.15 s | 1.44 s / 1.49 s | 1.31× | Slower |
Artifact bench/results/paged-results.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-28 17:16 UTC. Candidate: ac4ab632d80a · 2026-10-28 17:16 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Timings · cache churn | 18.5 ms / 48.7 ms | 17.0 ms / 66.1 ms | 0.92× (p95 1.36×) | Faster |
| Timings · distant page | 0.15 ms / 1.15 ms | 0.13 ms / 1.51 ms | 0.88× (p95 1.32×) | Faster |
| Timings · first page | 0.15 ms / 2.44 ms | 0.15 ms / 3.85 ms | 0.95× (p95 1.58×) | Faster |
| Timings · startup | 0.10 ms / 1.99 ms | 0.11 ms / 1.98 ms | 1.13× (p95 1.00×) | Slower |
| Timings · wide page | 12.3 ms / 41.9 ms | 10.9 ms / 37.5 ms | 0.89× | Faster |
Artifact bench/results/data-results.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-28 17:28 UTC. Candidate: ac4ab632d80a · 2026-10-28 17:40 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Handsontable · 1,000 · stats · aggregate | 0.12 ms / 0.17 ms | 0.13 ms / 0.18 ms | 1.05× | Slower |
| Handsontable · 1,000 · stats · distinct high | 0.15 ms / 0.18 ms | 0.16 ms / 0.28 ms | 1.03× (p95 1.51×) | Slower |
| Handsontable · 1,000 · stats · distinct low | 0.13 ms / 0.20 ms | 0.12 ms / 0.16 ms | 0.95× (p95 0.80×) | Faster |
| Handsontable · 1,000 · stats · edit | 197 ms / 243 ms | 172 ms / 251 ms | 0.87× (p95 1.03×) | Faster |
| Handsontable · 1,000 · stats · filter | 61.4 ms / 94.1 ms | 68.7 ms / 87.3 ms | 1.12× (p95 0.93×) | Slower |
| Handsontable · 1,000 · stats · ingest | 390 ms / 526 ms | 410 ms / 507 ms | 1.05× (p95 0.96×) | Slower |
| Handsontable · 1,000 · stats · multi filter | 125 ms / 138 ms | 149 ms / 202 ms | 1.20× (p95 1.47×) | Slower |
| Handsontable · 1,000 · stats · sort | 150 ms / 158 ms | 171 ms / 196 ms | 1.13× (p95 1.25×) | Slower |
| Handsontable · 1,000 · stats · window read | 0.17 ms / 0.21 ms | 0.17 ms / 0.20 ms | 1.02× (p95 0.96×) | Slower |
| Handsontable · 10,000 · stats · aggregate | 1.02 ms / 1.42 ms | 1.04 ms / 1.40 ms | 1.02× | Slower |
| Handsontable · 10,000 · stats · distinct high | 1.32 ms / 1.80 ms | 1.33 ms / 1.75 ms | 1.01× | Slower |
| Handsontable · 10,000 · stats · distinct low | 0.95 ms / 1.82 ms | 0.94 ms / 1.93 ms | 0.99× (p95 1.06×) | Faster |
| Handsontable · 10,000 · stats · edit | 373 ms / 446 ms | 380 ms / 447 ms | 1.02× | Slower |
| Handsontable · 10,000 · stats · filter | 589 ms / 627 ms | 582 ms / 617 ms | 0.99× | Faster |
| Handsontable · 10,000 · stats · ingest | 3.99 s / 4.30 s | 3.88 s / 4.16 s | 0.97× | Faster |
| Handsontable · 10,000 · stats · multi filter | 1.23 s / 1.32 s | 1.21 s / 1.25 s | 0.98× | Faster |
| Handsontable · 10,000 · stats · sort | 1.44 s / 1.55 s | 1.44 s / 1.55 s | 1.00× | Unchanged |
| Handsontable · 10,000 · stats · window read | 0.18 ms / 0.23 ms | 0.18 ms / 0.25 ms | 1.01× (p95 1.10×) | Slower |
| Sheetwrite · 1,000 · filter value set 10 | 0.19 ms / 0.72 ms | 0.17 ms / 0.67 ms | 0.86× (p95 0.92×) | Faster |
| Sheetwrite · 1,000 · filter value set 1000 | 0.92 ms / 1.62 ms | 0.83 ms / 1.37 ms | 0.91× (p95 0.84×) | Faster |
| Sheetwrite · 1,000 · ingest numeric only | 0.30 ms / 0.43 ms | 0.24 ms / 0.35 ms | 0.77× | Faster |
| Sheetwrite · 1,000 · sort multi key | 0.24 ms / 0.39 ms | 0.17 ms / 0.32 ms | 0.72× (p95 0.81×) | Faster |
| Sheetwrite · 1,000 · sort with candidates | 0.14 ms / 0.18 ms | 0.12 ms / 0.28 ms | 0.86× (p95 1.51×) | Faster |
| Sheetwrite · 1,000 · stats · aggregate | 2 µs / 3 µs | 2 µs | 0.95× | Faster |
| Sheetwrite · 1,000 · stats · distinct high | 0.25 ms / 0.39 ms | 0.21 ms / 1.46 ms | 0.85× (p95 3.74×) | Faster |
| Sheetwrite · 1,000 · stats · distinct low | 0.08 ms / 0.10 ms | 0.06 ms / 0.07 ms | 0.77× (p95 0.68×) | Faster |
| Sheetwrite · 1,000 · stats · edit | 12.8 ms / 29.1 ms | 15.5 ms / 27.7 ms | 1.20× (p95 0.95×) | Slower |
| Sheetwrite · 1,000 · stats · filter | 0.14 ms / 0.22 ms | 0.11 ms / 0.23 ms | 0.78× (p95 1.06×) | Faster |
| Sheetwrite · 1,000 · stats · ingest | 0.77 ms / 1.20 ms | 0.73 ms / 1.36 ms | 0.95× (p95 1.13×) | Faster |
| Sheetwrite · 1,000 · stats · multi filter | 0.19 ms / 0.26 ms | 0.16 ms / 0.29 ms | 0.85× (p95 1.11×) | Faster |
| Sheetwrite · 1,000 · stats · sort | 0.23 ms / 0.25 ms | 0.20 ms / 0.65 ms | 0.84× (p95 2.61×) | Faster |
| Sheetwrite · 1,000 · stats · window read | 0.01 ms / 0.03 ms | 0.01 ms / 0.02 ms | 0.89× (p95 0.78×) | Faster |
| Sheetwrite · 10,000 · filter value set 10 | 0.44 ms / 0.50 ms | 0.40 ms / 0.43 ms | 0.91× (p95 0.86×) | Faster |
| Sheetwrite · 10,000 · filter value set 1000 | 1.13 ms / 1.17 ms | 1.03 ms / 1.12 ms | 0.91× | Faster |
| Sheetwrite · 10,000 · ingest numeric only | 1.88 ms / 1.99 ms | 1.48 ms / 1.53 ms | 0.79× | Faster |
| Sheetwrite · 10,000 · sort multi key | 2.69 ms / 5.39 ms | 2.64 ms / 3.42 ms | 0.98× (p95 0.64×) | Faster |
| Sheetwrite · 10,000 · sort with candidates | 0.29 ms / 0.33 ms | 0.26 ms / 0.30 ms | 0.91× | Faster |
| Sheetwrite · 10,000 · stats · aggregate | 0.02 ms / 0.03 ms | 0.02 ms | 0.93× (p95 0.64×) | Faster |
| Sheetwrite · 10,000 · stats · distinct high | 1.37 ms / 2.55 ms | 1.31 ms / 2.25 ms | 0.96× (p95 0.88×) | Faster |
| Sheetwrite · 10,000 · stats · distinct low | 0.11 ms / 0.17 ms | 0.08 ms / 0.13 ms | 0.72× | Faster |
| Sheetwrite · 10,000 · stats · edit | 7.54 ms / 17.5 ms | 7.96 ms / 17.6 ms | 1.06× (p95 1.00×) | Slower |
| Sheetwrite · 10,000 · stats · filter | 0.13 ms / 0.16 ms | 0.12 ms / 0.16 ms | 0.98× | Faster |
| Sheetwrite · 10,000 · stats · ingest | 5.27 ms / 7.01 ms | 4.90 ms / 5.15 ms | 0.93× (p95 0.73×) | Faster |
| Sheetwrite · 10,000 · stats · multi filter | 0.47 ms / 0.66 ms | 0.44 ms / 0.49 ms | 0.93× (p95 0.75×) | Faster |
| Sheetwrite · 10,000 · stats · sort | 0.26 ms / 0.35 ms | 0.26 ms / 0.57 ms | 0.98× (p95 1.63×) | Faster |
| Sheetwrite · 10,000 · stats · window read | 0.01 ms | 0.01 ms | 0.90× | Faster |
| Sheetwrite · 100,000 · filter value set 10 | 3.06 ms / 3.13 ms | 2.88 ms / 3.12 ms | 0.94× (p95 1.00×) | Faster |
| Sheetwrite · 100,000 · filter value set 1000 | 3.75 ms / 3.83 ms | 3.61 ms / 3.68 ms | 0.96× | Faster |
| Sheetwrite · 100,000 · filter value set 50000 | 47.5 ms / 48.1 ms | 47.0 ms / 49.1 ms | 0.99× | Faster |
| Sheetwrite · 100,000 · ingest numeric only | 17.0 ms / 17.6 ms | 14.4 ms / 25.2 ms | 0.85× (p95 1.43×) | Faster |
| Sheetwrite · 100,000 · sort multi key | 34.8 ms / 35.2 ms | 35.7 ms / 35.9 ms | 1.03× | Slower |
| Sheetwrite · 100,000 · sort with candidates | 2.13 ms / 2.32 ms | 2.09 ms / 2.29 ms | 0.98× | Faster |
| Sheetwrite · 100,000 · stats · aggregate | 0.19 ms / 0.22 ms | 0.19 ms / 0.23 ms | 0.99× (p95 1.06×) | Faster |
| Sheetwrite · 100,000 · stats · distinct high | 13.9 ms / 14.2 ms | 14.1 ms / 14.5 ms | 1.01× | Slower |
| Sheetwrite · 100,000 · stats · distinct low | 0.59 ms / 0.62 ms | 0.61 ms / 0.68 ms | 1.04× (p95 1.09×) | Slower |
| Sheetwrite · 100,000 · stats · edit | 5.65 ms / 9.60 ms | 5.80 ms / 9.48 ms | 1.03× | Slower |
| Sheetwrite · 100,000 · stats · filter | 0.44 ms / 0.48 ms | 0.40 ms / 0.54 ms | 0.91× (p95 1.13×) | Faster |
| Sheetwrite · 100,000 · stats · ingest | 62.3 ms / 76.1 ms | 56.3 ms / 66.8 ms | 0.90× | Faster |
| Sheetwrite · 100,000 · stats · multi filter | 3.71 ms / 3.86 ms | 3.52 ms / 3.75 ms | 0.95× | Faster |
| Sheetwrite · 100,000 · stats · sort | 2.06 ms / 2.21 ms | 1.97 ms / 2.14 ms | 0.96× | Faster |
| Sheetwrite · 100,000 · stats · window read | 0.01 ms / 0.02 ms | 0.01 ms | 0.89× | Faster |
| Sheetwrite · 1,000,000 · filter value set 10 | 31.4 ms / 32.4 ms | 30.4 ms / 31.7 ms | 0.97× | Faster |
| Sheetwrite · 1,000,000 · filter value set 1000 | 31.5 ms / 32.5 ms | 30.7 ms / 31.0 ms | 0.98× | Faster |
| Sheetwrite · 1,000,000 · ingest numeric only | 145 ms / 146 ms | 66.3 ms / 67.3 ms | 0.46× | Faster |
| Sheetwrite · 1,000,000 · sort multi key | 537 ms / 550 ms | 503 ms / 511 ms | 0.94× | Faster |
| Sheetwrite · 1,000,000 · sort with candidates | 27.3 ms / 27.7 ms | 27.0 ms / 27.6 ms | 0.99× | Faster |
| Sheetwrite · 1,000,000 · stats · aggregate | 1.83 ms / 1.98 ms | 1.74 ms / 1.81 ms | 0.95× | Faster |
| Sheetwrite · 1,000,000 · stats · distinct high | 148 ms / 150 ms | 151 ms / 153 ms | 1.02× | Slower |
| Sheetwrite · 1,000,000 · stats · distinct low | 6.16 ms / 6.43 ms | 5.22 ms / 5.44 ms | 0.85× | Faster |
| Sheetwrite · 1,000,000 · stats · edit | 6.42 ms / 8.61 ms | 6.75 ms / 24.9 ms | 1.05× (p95 2.89×) | Slower |
| Sheetwrite · 1,000,000 · stats · filter | 3.58 ms / 3.60 ms | 3.20 ms / 3.25 ms | 0.89× | Faster |
| Sheetwrite · 1,000,000 · stats · ingest | 553 ms / 574 ms | 595 ms | 1.08× | Slower |
| Sheetwrite · 1,000,000 · stats · multi filter | 38.1 ms / 38.9 ms | 37.2 ms / 37.3 ms | 0.98× | Faster |
| Sheetwrite · 1,000,000 · stats · sort | 23.3 ms / 24.1 ms | 22.4 ms / 23.4 ms | 0.96× | Faster |
| Sheetwrite · 1,000,000 · stats · window read | 0.02 ms | 0.02 ms | 0.86× | Faster |
| Sheetwrite · 500,000 · filter value set 10 | 15.2 ms / 16.6 ms | 14.9 ms / 16.0 ms | 0.98× | Faster |
| Sheetwrite · 500,000 · filter value set 1000 | 16.0 ms / 16.2 ms | 16.0 ms / 16.1 ms | 1.00× | Faster |
| Sheetwrite · 500,000 · ingest numeric only | 67.8 ms | 72.6 ms / 73.0 ms | 1.07× | Slower |
| Sheetwrite · 500,000 · sort multi key | 214 ms / 218 ms | 221 ms / 254 ms | 1.03× (p95 1.17×) | Slower |
| Sheetwrite · 500,000 · sort with candidates | 12.5 ms / 12.8 ms | 12.5 ms | 1.00× | Faster |
| Sheetwrite · 500,000 · stats · aggregate | 0.89 ms / 0.95 ms | 0.88 ms / 0.92 ms | 1.00× | Faster |
| Sheetwrite · 500,000 · stats · distinct high | 72.8 ms / 74.0 ms | 76.3 ms / 76.5 ms | 1.05× | Slower |
| Sheetwrite · 500,000 · stats · distinct low | 2.77 ms / 3.01 ms | 2.38 ms / 2.74 ms | 0.86× (p95 0.91×) | Faster |
| Sheetwrite · 500,000 · stats · edit | 5.47 ms / 5.62 ms | 5.63 ms / 5.72 ms | 1.03× | Slower |
| Sheetwrite · 500,000 · stats · filter | 1.75 ms / 1.79 ms | 1.56 ms / 1.61 ms | 0.90× | Faster |
| Sheetwrite · 500,000 · stats · ingest | 325 ms / 327 ms | 291 ms / 297 ms | 0.89× | Faster |
| Sheetwrite · 500,000 · stats · multi filter | 19.2 ms / 19.8 ms | 18.3 ms / 18.6 ms | 0.96× | Faster |
| Sheetwrite · 500,000 · stats · sort | 10.0 ms / 10.1 ms | 10.0 ms / 10.1 ms | 1.00× | Unchanged |
| Sheetwrite · 500,000 · stats · window read | 0.01 ms / 0.02 ms | 0.02 ms | 1.05× | Slower |
Artifact bench/results/core-paths-results.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-28 17:40 UTC. Candidate: ac4ab632d80a · 2026-10-28 17:41 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Command state select | 9.18 ms / 18.0 ms | 9.84 ms / 16.4 ms | 1.07× (p95 0.91×) | Slower |
| Command state select · with command state handler | 9.18 ms / 18.0 ms | 9.84 ms / 16.4 ms | 1.07× (p95 0.91×) | Slower |
| Command state select · without command state handler | 7.63 ms / 11.8 ms | 7.44 ms / 12.4 ms | 0.98× (p95 1.06×) | Faster |
| Csv import | 231 ms / 244 ms | 218 ms / 231 ms | 0.95× | Faster |
| Node cold init | 6.36 ms / 7.57 ms | 6.84 ms / 8.08 ms | 1.08× | Slower |
| Paged evicted revisit | 8.06 ms / 10.6 ms | 14.7 ms / 17.6 ms | 1.82× (p95 1.66×) | Slower |
| Rebase large | 1.73 ms / 1.83 ms | 3.76 ms / 4.90 ms | 2.18× (p95 2.67×) | Slower |
| Restore near ceiling | 1.01 s | 840 ms / 896 ms | 0.84× (p95 0.89×) | Faster |
| Row bridge insert | 6.22 ms / 8.41 ms | 5.99 ms / 8.38 ms | 0.96× | Faster |
| Setblock admission | 546 ms / 560 ms | 545 ms / 556 ms | 1.00× | Faster |
| Setblock detailed capture | 698 ms / 782 ms | 657 ms / 766 ms | 0.94× | Faster |
| Sync offline queue | 0.64 ms / 1.60 ms | 0.03 ms / 1.59 ms | 0.05× (p95 0.99×) | Faster |
| Undo large clear | 1.69 s / 1.70 s | 362 ms / 430 ms | 0.21× | Faster |
| Validation sparse | 187 ms / 194 ms | 181 ms / 182 ms | 0.97× | Faster |
Artifact bench/results/chart-tracking-results.json. Baseline: 0.5.4, not available. Candidate: ac4ab632d80a · 2026-10-28 17:42 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Baseline | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Inside · 20,000 · literal · baseline ms | — | 6 µs / 0.01 ms | — | New in 0.6 |
| Inside · 20,000 · literal · commit ms | — | 7 µs / 0.01 ms | — | New in 0.6 |
| Inside · 20,000 · literal · event ms | — | 7 µs / 0.01 ms | — | New in 0.6 |
| Inside · 2,000 · literal · baseline ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Inside · 2,000 · literal · commit ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Inside · 2,000 · literal · event ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Inside · 200 · literal · baseline ms | — | 0.01 ms / 0.05 ms | — | New in 0.6 |
| Inside · 200 · literal · commit ms | — | 0.01 ms / 0.03 ms | — | New in 0.6 |
| Inside · 200 · literal · event ms | — | 0.01 ms / 0.02 ms | — | New in 0.6 |
| Literal dependency edit · 20,000 · formula · baseline ms | — | 6 µs / 0.01 ms | — | New in 0.6 |
| Literal dependency edit · 20,000 · formula · commit ms | — | 2.38 ms / 3.98 ms | — | New in 0.6 |
| Literal dependency edit · 20,000 · formula · event ms | — | 2.38 ms / 3.98 ms | — | New in 0.6 |
| Literal dependency edit · 2,000 · formula · baseline ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Literal dependency edit · 2,000 · formula · commit ms | — | 0.17 ms / 0.29 ms | — | New in 0.6 |
| Literal dependency edit · 2,000 · formula · event ms | — | 0.16 ms / 0.28 ms | — | New in 0.6 |
| Literal dependency edit · 200 · formula · baseline ms | — | 0.01 ms / 0.05 ms | — | New in 0.6 |
| Literal dependency edit · 200 · formula · commit ms | — | 0.03 ms / 0.07 ms | — | New in 0.6 |
| Literal dependency edit · 200 · formula · event ms | — | 0.03 ms / 0.06 ms | — | New in 0.6 |
| Outside · 20,000 · formula · baseline ms | — | 6 µs / 0.01 ms | — | New in 0.6 |
| Outside · 20,000 · formula · commit ms | — | 2.35 ms / 4.18 ms | — | New in 0.6 |
| Outside · 20,000 · formula · event ms | — | 2.35 ms / 4.17 ms | — | New in 0.6 |
| Outside · 20,000 · literal · baseline ms | — | 6 µs / 0.01 ms | — | New in 0.6 |
| Outside · 20,000 · literal · commit ms | — | 7 µs / 0.03 ms | — | New in 0.6 |
| Outside · 2,000 · formula · baseline ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Outside · 2,000 · formula · commit ms | — | 0.18 ms / 0.24 ms | — | New in 0.6 |
| Outside · 2,000 · formula · event ms | — | 0.18 ms / 0.23 ms | — | New in 0.6 |
| Outside · 2,000 · literal · baseline ms | — | 7 µs / 0.02 ms | — | New in 0.6 |
| Outside · 2,000 · literal · commit ms | — | 6 µs / 0.01 ms | — | New in 0.6 |
| Outside · 200 · formula · baseline ms | — | 0.01 ms / 0.05 ms | — | New in 0.6 |
| Outside · 200 · formula · commit ms | — | 0.05 ms / 0.21 ms | — | New in 0.6 |
| Outside · 200 · formula · event ms | — | 0.05 ms / 0.21 ms | — | New in 0.6 |
| Outside · 200 · literal · baseline ms | — | 0.01 ms / 0.05 ms | — | New in 0.6 |
| Outside · 200 · literal · commit ms | — | 0.01 ms / 0.02 ms | — | New in 0.6 |
Artifact bench/results/pivot-results.json. Baseline: 0.5.4, not available. Candidate: ac4ab632d80a · 2026-10-28 17:42 UTC.
Threshold: none. No historical artifact at the base ref. The 100x incremental/full-build speedup target is an in-capture gate, not a historical comparison threshold. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Build ms | — | 28.9 ms / 30.5 ms | — | New in 0.6 |
| Donor key edit ms | — | 3 µs / 0.01 ms | — | New in 0.6 |
| Edit ms | — | 2 µs / 0.01 ms | — | New in 0.6 |
| Max build ms | — | 81.8 ms / 109 ms | — | New in 0.6 |
| Max extreme edit ms | — | 2 µs / 0.01 ms | — | New in 0.6 |
Artifact bench/results/formula-results.json. Baseline: 0.5.4 engine (WASM) under 0.6 core and harness, ac4ab632d80a · 2026-10-29 04:50 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:24 UTC.
Threshold: formula-release-limit. Release limits: max(baseline × 1.25, baseline + 0.1 ms) for median and p95; baseline medians below 1 ms gate median only with a 0.3 ms floor. Attributed allocation summaries may not grow. Independent release comparison, not a paired gate verdict. Source: bench/src/formula-bench.ts; bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Countif 100k · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Countif 100k · 100,000 | 0.94 ms / 1.06 ms | 0.87 ms / 0.91 ms | 0.92× (p95 0.86×) | Faster |
| Criteria multi range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 | 4.79 ms / 5.02 ms | 4.25 ms / 4.31 ms | 0.89× | Faster |
| Criteria range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria range edit · 100,000 | 1.60 ms / 1.65 ms | 1.68 ms / 1.74 ms | 1.05× | Within budget |
| Cross sheet range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 · allocation stat · retained bytes | 624.9 KiB | 602.2 KiB | 0.96× | Smaller |
| Cross sheet range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 | 0.51 ms / 0.54 ms | 0.25 ms / 0.26 ms | 0.49× | Faster |
| Cycles · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cycles · 1,000 · allocation stat · retained bytes | 727.5 KiB | 682.7 KiB | 0.94× | Smaller |
| Cycles · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cycles · 1,000 | 1.41 ms / 1.43 ms | 0.50 ms / 0.51 ms | 0.35× | Faster |
| Diamond edit · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Diamond edit · 32 · allocation stat · retained bytes | 42.1 KiB | 36.4 KiB | 0.87× | Smaller |
| Diamond edit · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Diamond edit · 32 | 0.09 ms / 0.10 ms | 0.04 ms / 0.06 ms | 0.46× (p95 0.58×) | Faster |
| Distinct range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Distinct range edit · 1,000 · allocation stat · retained bytes | 844.8 KiB | 817.6 KiB | 0.97× | Smaller |
| Distinct range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Distinct range edit · 1,000 | 0.01 ms / 0.02 ms | 0.01 ms / 0.02 ms | 0.91× | Faster |
| Error propagation · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Error propagation · 1,000 · allocation stat · retained bytes | 307.4 KiB | 276.6 KiB | 0.90× | Smaller |
| Error propagation · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Error propagation · 1,000 | 0.73 ms / 0.75 ms | 0.25 ms / 0.26 ms | 0.34× | Faster |
| Formula constant edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Formula constant edit · 100,000 · allocation stat · retained bytes | 55.0 MiB | 53.3 MiB | 0.97× | Smaller |
| Formula constant edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Formula constant edit · 100,000 | 0.03 ms / 0.04 ms | 0.03 ms / 0.04 ms | 1.00× (p95 1.06×) | Unchanged |
| Incremental dependency closure edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 · allocation stat · retained bytes | 72.0 MiB | 68.7 MiB | 0.95× | Smaller |
| Incremental dependency closure edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 | 0.02 ms / 0.03 ms | 0.02 ms / 0.03 ms | 1.02× (p95 0.94×) | Within budget |
| Independent first recompute · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 100,000 · allocation stat · retained bytes | 36.6 MiB | 35.0 MiB | 0.96× | Smaller |
| Independent first recompute · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 100,000 | 80.3 ms / 81.5 ms | 39.5 ms / 41.3 ms | 0.49× | Faster |
| Independent first recompute · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Independent first recompute · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 10,000 | 5.65 ms / 5.72 ms | 2.71 ms / 2.82 ms | 0.48× | Faster |
| Independent first recompute · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 1,000 · allocation stat · retained bytes | 461.7 KiB | 434.9 KiB | 0.94× | Smaller |
| Independent first recompute · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 1,000 | 0.61 ms / 1.06 ms | 0.45 ms / 0.47 ms | 0.74× (p95 0.44×) | Faster |
| Independent parse load · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 100,000 · allocation stat · retained bytes | 28.5 MiB | 27.7 MiB | 0.97× | Smaller |
| Independent parse load · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 100,000 | 55.5 ms / 55.7 ms | 53.0 ms / 53.3 ms | 0.95× | Faster |
| Independent parse load · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 10,000 · allocation stat · retained bytes | 3.1 MiB | 3.0 MiB | 0.96× | Smaller |
| Independent parse load · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 10,000 | 6.06 ms / 6.43 ms | 5.97 ms / 8.62 ms | 0.99× (p95 1.34×) | Flagged |
| Independent parse load · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 1,000 · allocation stat · retained bytes | 359.0 KiB | 344.3 KiB | 0.96× | Smaller |
| Independent parse load · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 1,000 | 0.82 ms / 1.29 ms | 0.99 ms / 1.32 ms | 1.21× (p95 1.02×) | Within budget |
| Iterative finance · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Iterative finance · 1,000 · allocation stat · retained bytes | 878.6 KiB | 851.8 KiB | 0.97× | Smaller |
| Iterative finance · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Iterative finance · 1,000 | 3.83 ms / 4.18 ms | 2.85 ms / 2.93 ms | 0.74× | Faster |
| Let repeat · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Let repeat · 100,000 | 1.93 ms / 2.07 ms | 1.71 ms | 0.88× (p95 0.83×) | Faster |
| Let reuse edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Let reuse edit · 100,000 | 0.64 ms / 0.66 ms | 0.50 ms / 0.51 ms | 0.78× | Faster |
| Linear chain · 16 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 16 · allocation stat · retained bytes | 13.4 KiB | 8.4 KiB | 0.63× | Smaller |
| Linear chain · 16 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 16 | 0.02 ms / 0.03 ms | 0.02 ms | 0.65× (p95 0.54×) | Faster |
| Linear chain · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 32 · allocation stat · retained bytes | 20.5 KiB | 15.3 KiB | 0.75× | Smaller |
| Linear chain · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 32 | 0.04 ms / 0.05 ms | 0.03 ms | 0.68× | Faster |
| Linear chain · 64 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 64 · allocation stat · retained bytes | 34.7 KiB | 29.1 KiB | 0.84× | Smaller |
| Linear chain · 64 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 64 | 0.08 ms | 0.03 ms / 0.04 ms | 0.46× | Faster |
| Linear chain · 8 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 8 · allocation stat · retained bytes | 9.0 KiB | 4.2 KiB | 0.46× | Smaller |
| Linear chain · 8 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 8 | 0.02 ms / 0.04 ms | 0.02 ms / 0.04 ms | 0.97× | Faster |
| Lookup range edit · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Lookup range edit · 100,000 | 1.88 ms / 2.72 ms | 1.73 ms / 1.79 ms | 0.92× (p95 0.66×) | Faster |
| Percentile covariance · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Percentile covariance · 100,000 | 3.52 ms / 3.71 ms | 2.85 ms / 3.10 ms | 0.81× | Faster |
| Removed sheet ref · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Removed sheet ref · 1,000 · allocation stat · retained bytes | 230.7 KiB | 192.2 KiB | 0.83× | Smaller |
| Removed sheet ref · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Removed sheet ref · 1,000 | 0.41 ms | 0.21 ms / 0.34 ms | 0.52× (p95 0.81×) | Faster |
| Scalar edit affects 0 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 0 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 | 3 µs | 3 µs | 0.97× | Faster |
| Scalar edit affects 100000 · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Scalar edit affects 100000 · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 | 54.0 ms / 54.4 ms | 21.7 ms / 22.1 ms | 0.40× | Faster |
| Scalar edit affects 1000 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 1000 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 | 0.30 ms / 0.31 ms | 0.17 ms / 0.19 ms | 0.55× (p95 0.60×) | Faster |
| Scalar edit affects 1 · 1 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 · allocation stat · retained bytes | 7.2 KiB | 2.4 KiB | 0.33× | Smaller |
| Scalar edit affects 1 · 1 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 | 4 µs / 7 µs | 3 µs / 0.01 ms | 0.87× (p95 1.53×) | Faster |
| Shared range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Shared range edit · 1,000 · allocation stat · retained bytes | 518.1 KiB | 491.4 KiB | 0.95× | Smaller |
| Shared range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Shared range edit · 1,000 | 0.53 ms / 0.55 ms | 0.28 ms / 0.31 ms | 0.53× | Faster |
| Spill filter resize · 100,000 · allocation stat · peak transient bytes | 4.6 MiB | 4.6 MiB | 1.00× | Unchanged |
| Spill filter resize · 100,000 · allocation stat · retained bytes | 6.4 MiB | 5.6 MiB | 0.88× | Smaller |
| Spill filter resize · 100,000 · allocation stat · transient allocations | 3 | 3 | 1.00× | Unchanged |
| Spill filter resize · 100,000 | 22.3 ms / 22.6 ms | 11.8 ms / 13.5 ms | 0.53× (p95 0.60×) | Faster |
| Spill sequence admission · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Spill sequence admission · 100,000 · allocation stat · retained bytes | 3.9 MiB | 3.1 MiB | 0.80× | Smaller |
| Spill sequence admission · 100,000 · allocation stat · transient allocations | 1 | 1 | 1.00× | Unchanged |
| Spill sequence admission · 100,000 | 11.4 ms / 11.6 ms | 4.38 ms / 5.27 ms | 0.38× (p95 0.45×) | Faster |
| Sum multi range · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sum multi range · 100,000 | 4.03 ms / 4.74 ms | 3.79 ms / 3.93 ms | 0.94× (p95 0.83×) | Faster |
| Sumifs 3 criteria · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · retained bytes | 6.2 MiB | 6.2 MiB | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 | 7.11 ms / 7.48 ms | 5.79 ms / 5.93 ms | 0.81× | Faster |
| Sumproduct matrix edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · retained bytes | 2.6 MiB | 2.6 MiB | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 | 1.76 ms / 1.81 ms | 1.54 ms / 1.59 ms | 0.88× | Faster |
| Sumproduct vector edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 | 1.85 ms / 1.94 ms | 1.57 ms / 2.10 ms | 0.85× (p95 1.08×) | Faster |
| Text lookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many edit · 1,000 | 1.97 ms / 2.09 ms | 1.62 ms / 1.68 ms | 0.82× | Faster |
| Text lookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 | 3.17 ms / 3.25 ms | 3.16 ms / 3.41 ms | 1.00× (p95 1.05×) | Faster |
| Text lookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 | 3.68 ms / 4.25 ms | 3.37 ms / 3.43 ms | 0.91× (p95 0.81×) | Faster |
| Text lookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many · 1,000 | 2.09 ms / 2.36 ms | 2.23 ms / 2.77 ms | 1.07× (p95 1.18×) | Within budget |
| Topology remove add · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Topology remove add · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Topology remove add · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Topology remove add · 10,000 | 8.26 ms / 8.30 ms | 5.42 ms / 5.91 ms | 0.66× (p95 0.71×) | Faster |
| Unicode text date edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Unicode text date edit · 1,000 · allocation stat · retained bytes | 1.2 MiB | 1.1 MiB | 0.98× | Smaller |
| Unicode text date edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Unicode text date edit · 1,000 | 1.02 ms / 1.12 ms | 0.78 ms / 0.87 ms | 0.76× | Faster |
| Vlookup many edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many edit · 1,000 | 1.12 ms / 1.15 ms | 0.86 ms / 0.87 ms | 0.77× | Faster |
| Vlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 | 1.50 ms / 1.52 ms | 1.23 ms / 1.27 ms | 0.82× | Faster |
| Vlookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 | 1.63 ms / 1.74 ms | 1.31 ms / 1.32 ms | 0.81× | Faster |
| Vlookup many · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many · 1,000 | 1.27 ms / 1.40 ms | 0.96 ms / 1.06 ms | 0.75× | Faster |
| Wide fan out edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Wide fan out edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 100,000 | 53.8 ms / 55.1 ms | 22.0 ms / 22.8 ms | 0.41× | Faster |
| Wide fan out edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Wide fan out edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 1,000 | 0.31 ms / 0.36 ms | 0.14 ms / 0.16 ms | 0.46× | Faster |
| Xlookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many edit · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many edit · 1,000 | 1.08 ms / 1.11 ms | 0.83 ms / 0.86 ms | 0.77× | Faster |
| Xlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 | 1.48 ms / 1.52 ms | 1.19 ms / 1.79 ms | 0.80× (p95 1.17×) | Faster |
| Xlookup many sorted · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 | 1.64 ms / 1.79 ms | 1.32 ms / 1.35 ms | 0.81× | Faster |
| Xlookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many · 1,000 | 1.25 ms / 1.38 ms | 0.94 ms | 0.75× (p95 0.68×) | Faster |
Artifact bench/results/formula-default-results.json. Baseline: 0.5.4 engine (WASM) under 0.6 core and harness, ac4ab632d80a · 2026-10-29 04:24 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:24 UTC.
Threshold: formula-release-limit. Release limits: max(baseline × 1.25, baseline + 0.1 ms) for median and p95; baseline medians below 1 ms gate median only with a 0.3 ms floor. Attributed allocation summaries may not grow. Independent release comparison, not a paired gate verdict. Source: bench/src/formula-bench.ts; bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Countif 100k · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Countif 100k · 100,000 | 0.94 ms / 0.96 ms | 0.89 ms / 0.91 ms | 0.95× | Faster |
| Criteria multi range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 | 5.50 ms / 7.79 ms | 5.16 ms / 5.45 ms | 0.94× (p95 0.70×) | Faster |
| Criteria range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria range edit · 100,000 | 1.62 ms / 1.66 ms | 1.59 ms / 1.68 ms | 0.98× | Faster |
| Cross sheet range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 · allocation stat · retained bytes | 624.9 KiB | 602.2 KiB | 0.96× | Smaller |
| Cross sheet range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 | 0.53 ms / 0.83 ms | 0.28 ms / 0.29 ms | 0.53× (p95 0.35×) | Faster |
| Cycles · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cycles · 1,000 · allocation stat · retained bytes | 727.5 KiB | 682.7 KiB | 0.94× | Smaller |
| Cycles · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cycles · 1,000 | 1.40 ms / 1.48 ms | 0.48 ms / 0.54 ms | 0.34× | Faster |
| Diamond edit · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Diamond edit · 32 · allocation stat · retained bytes | 42.1 KiB | 36.4 KiB | 0.87× | Smaller |
| Diamond edit · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Diamond edit · 32 | 0.09 ms / 0.10 ms | 0.04 ms / 0.05 ms | 0.49× | Faster |
| Distinct range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Distinct range edit · 1,000 · allocation stat · retained bytes | 844.8 KiB | 817.6 KiB | 0.97× | Smaller |
| Distinct range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Distinct range edit · 1,000 | 0.01 ms / 0.02 ms | 0.01 ms / 0.02 ms | 1.05× (p95 1.16×) | Within budget |
| Error propagation · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Error propagation · 1,000 · allocation stat · retained bytes | 307.4 KiB | 276.6 KiB | 0.90× | Smaller |
| Error propagation · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Error propagation · 1,000 | 0.73 ms / 0.75 ms | 0.25 ms / 0.26 ms | 0.35× | Faster |
| Formula constant edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Formula constant edit · 100,000 · allocation stat · retained bytes | 55.0 MiB | 53.3 MiB | 0.97× | Smaller |
| Formula constant edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Formula constant edit · 100,000 | 0.03 ms / 0.04 ms | 0.03 ms / 0.04 ms | 1.04× (p95 0.86×) | Within budget |
| Incremental dependency closure edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 · allocation stat · retained bytes | 72.0 MiB | 68.7 MiB | 0.95× | Smaller |
| Incremental dependency closure edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 | 0.02 ms / 0.03 ms | 0.02 ms | 0.93× | Faster |
| Independent first recompute · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 100,000 · allocation stat · retained bytes | 36.6 MiB | 35.0 MiB | 0.96× | Smaller |
| Independent first recompute · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 100,000 | 80.3 ms / 86.3 ms | 40.1 ms / 42.5 ms | 0.50× | Faster |
| Independent first recompute · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Independent first recompute · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 10,000 | 4.78 ms / 4.90 ms | 2.75 ms / 2.84 ms | 0.58× | Faster |
| Independent first recompute · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 1,000 · allocation stat · retained bytes | 461.7 KiB | 434.9 KiB | 0.94× | Smaller |
| Independent first recompute · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 1,000 | 0.72 ms / 1.06 ms | 0.44 ms / 0.54 ms | 0.61× (p95 0.51×) | Faster |
| Independent parse load · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 100,000 · allocation stat · retained bytes | 28.5 MiB | 27.7 MiB | 0.97× | Smaller |
| Independent parse load · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 100,000 | 54.0 ms / 54.5 ms | 59.7 ms / 59.9 ms | 1.10× | Within budget |
| Independent parse load · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 10,000 · allocation stat · retained bytes | 3.1 MiB | 3.0 MiB | 0.96× | Smaller |
| Independent parse load · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 10,000 | 7.21 ms / 7.60 ms | 6.33 ms / 6.63 ms | 0.88× | Faster |
| Independent parse load · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 1,000 · allocation stat · retained bytes | 359.0 KiB | 344.3 KiB | 0.96× | Smaller |
| Independent parse load · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 1,000 | 0.86 ms / 0.94 ms | 1.14 ms / 1.57 ms | 1.33× (p95 1.66×) | Within budget |
| Iterative finance · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Iterative finance · 1,000 · allocation stat · retained bytes | 878.6 KiB | 851.8 KiB | 0.97× | Smaller |
| Iterative finance · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Iterative finance · 1,000 | 3.13 ms / 3.15 ms | 2.85 ms / 2.88 ms | 0.91× | Faster |
| Let repeat · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Let repeat · 100,000 | 1.65 ms / 1.70 ms | 1.71 ms / 1.77 ms | 1.03× | Within budget |
| Let reuse edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Let reuse edit · 100,000 | 0.58 ms / 0.64 ms | 0.51 ms | 0.88× (p95 0.80×) | Faster |
| Linear chain · 16 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 16 · allocation stat · retained bytes | 13.4 KiB | 8.4 KiB | 0.63× | Smaller |
| Linear chain · 16 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 16 | 0.02 ms / 0.03 ms | 0.02 ms | 0.70× | Faster |
| Linear chain · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 32 · allocation stat · retained bytes | 20.5 KiB | 15.3 KiB | 0.75× | Smaller |
| Linear chain · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 32 | 0.04 ms / 0.05 ms | 0.03 ms | 0.71× | Faster |
| Linear chain · 64 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 64 · allocation stat · retained bytes | 34.7 KiB | 29.1 KiB | 0.84× | Smaller |
| Linear chain · 64 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 64 | 0.07 ms / 0.08 ms | 0.04 ms | 0.55× | Faster |
| Linear chain · 8 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 8 · allocation stat · retained bytes | 9.0 KiB | 4.2 KiB | 0.46× | Smaller |
| Linear chain · 8 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 8 | 0.02 ms / 0.03 ms | 0.02 ms / 0.04 ms | 1.45× (p95 1.10×) | Within budget |
| Lookup range edit · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Lookup range edit · 100,000 | 1.73 ms / 1.79 ms | 1.71 ms / 1.77 ms | 0.99× | Faster |
| Percentile covariance · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Percentile covariance · 100,000 | 3.15 ms / 3.18 ms | 2.83 ms / 2.86 ms | 0.90× | Faster |
| Removed sheet ref · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Removed sheet ref · 1,000 · allocation stat · retained bytes | 230.7 KiB | 192.2 KiB | 0.83× | Smaller |
| Removed sheet ref · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Removed sheet ref · 1,000 | 0.42 ms | 0.20 ms / 0.21 ms | 0.48× | Faster |
| Scalar edit affects 0 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 0 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 | 3 µs / 4 µs | 3 µs | 0.88× (p95 0.80×) | Faster |
| Scalar edit affects 100000 · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Scalar edit affects 100000 · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 | 57.5 ms / 58.6 ms | 20.7 ms / 21.6 ms | 0.36× | Faster |
| Scalar edit affects 1000 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 1000 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 | 0.31 ms / 0.33 ms | 0.14 ms / 0.29 ms | 0.45× (p95 0.89×) | Faster |
| Scalar edit affects 1 · 1 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 · allocation stat · retained bytes | 7.2 KiB | 2.4 KiB | 0.33× | Smaller |
| Scalar edit affects 1 · 1 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 | 3 µs / 7 µs | 4 µs | 1.14× (p95 0.58×) | Within budget |
| Shared range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Shared range edit · 1,000 · allocation stat · retained bytes | 518.1 KiB | 491.4 KiB | 0.95× | Smaller |
| Shared range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Shared range edit · 1,000 | 0.63 ms / 0.91 ms | 0.25 ms / 0.30 ms | 0.40× (p95 0.33×) | Faster |
| Spill filter resize · 100,000 · allocation stat · peak transient bytes | 4.6 MiB | 4.6 MiB | 1.00× | Unchanged |
| Spill filter resize · 100,000 · allocation stat · retained bytes | 6.4 MiB | 5.6 MiB | 0.88× | Smaller |
| Spill filter resize · 100,000 · allocation stat · transient allocations | 3 | 3 | 1.00× | Unchanged |
| Spill filter resize · 100,000 | 22.3 ms / 22.8 ms | 10.6 ms / 11.4 ms | 0.48× | Faster |
| Spill sequence admission · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Spill sequence admission · 100,000 · allocation stat · retained bytes | 3.9 MiB | 3.1 MiB | 0.80× | Smaller |
| Spill sequence admission · 100,000 · allocation stat · transient allocations | 1 | 1 | 1.00× | Unchanged |
| Spill sequence admission · 100,000 | 11.0 ms / 11.3 ms | 4.36 ms / 4.44 ms | 0.39× | Faster |
| Sum multi range · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sum multi range · 100,000 | 3.90 ms / 4.19 ms | 4.36 ms / 4.39 ms | 1.12× (p95 1.05×) | Within budget |
| Sumifs 3 criteria · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · retained bytes | 6.2 MiB | 6.2 MiB | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 | 6.14 ms / 6.20 ms | 5.61 ms / 5.83 ms | 0.91× | Faster |
| Sumproduct matrix edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · retained bytes | 2.6 MiB | 2.6 MiB | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 | 1.72 ms / 3.01 ms | 1.83 ms / 1.86 ms | 1.06× (p95 0.62×) | Within budget |
| Sumproduct vector edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 | 1.82 ms / 2.94 ms | 1.88 ms / 1.90 ms | 1.03× (p95 0.65×) | Within budget |
| Text lookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many edit · 1,000 | 1.93 ms / 2.01 ms | 1.94 ms / 1.96 ms | 1.01× | Within budget |
| Text lookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 | 3.26 ms / 3.31 ms | 3.39 ms / 3.43 ms | 1.04× | Within budget |
| Text lookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 | 3.20 ms / 3.29 ms | 4.02 ms / 4.45 ms | 1.26× (p95 1.35×) | Flagged |
| Text lookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many · 1,000 | 2.11 ms / 2.14 ms | 2.58 ms / 2.65 ms | 1.22× | Within budget |
| Topology remove add · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Topology remove add · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Topology remove add · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Topology remove add · 10,000 | 8.12 ms / 8.30 ms | 6.02 ms / 6.15 ms | 0.74× | Faster |
| Unicode text date edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Unicode text date edit · 1,000 · allocation stat · retained bytes | 1.2 MiB | 1.1 MiB | 0.98× | Smaller |
| Unicode text date edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Unicode text date edit · 1,000 | 1.01 ms / 1.09 ms | 0.80 ms / 0.86 ms | 0.79× | Faster |
| Vlookup many edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many edit · 1,000 | 1.14 ms / 1.16 ms | 0.82 ms / 0.83 ms | 0.72× | Faster |
| Vlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 | 1.52 ms / 1.54 ms | 1.25 ms / 1.29 ms | 0.82× | Faster |
| Vlookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 | 1.65 ms / 1.67 ms | 1.31 ms / 2.02 ms | 0.79× (p95 1.21×) | Faster |
| Vlookup many · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many · 1,000 | 1.30 ms / 1.38 ms | 0.92 ms / 1.05 ms | 0.71× (p95 0.76×) | Faster |
| Wide fan out edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Wide fan out edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 100,000 | 52.2 ms / 55.3 ms | 21.9 ms / 22.4 ms | 0.42× | Faster |
| Wide fan out edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Wide fan out edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 1,000 | 0.31 ms / 0.35 ms | 0.15 ms / 0.16 ms | 0.49× | Faster |
| Xlookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many edit · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many edit · 1,000 | 1.11 ms / 1.14 ms | 0.83 ms / 0.85 ms | 0.74× | Faster |
| Xlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 | 1.55 ms / 1.68 ms | 1.25 ms / 1.32 ms | 0.81× | Faster |
| Xlookup many sorted · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 | 1.66 ms / 1.87 ms | 1.35 ms / 1.46 ms | 0.81× | Faster |
| Xlookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many · 1,000 | 1.28 ms / 1.29 ms | 0.90 ms / 0.91 ms | 0.70× | Faster |
Artifact bench/results/formula-full-results.json. Baseline: 0.5.4 engine (WASM) under 0.6 core and harness, ac4ab632d80a · 2026-10-29 04:24 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:25 UTC.
Threshold: formula-release-limit. Release limits: max(baseline × 1.25, baseline + 0.1 ms) for median and p95; baseline medians below 1 ms gate median only with a 0.3 ms floor. Attributed allocation summaries may not grow. Independent release comparison, not a paired gate verdict. Source: bench/src/formula-bench.ts; bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Countif 100k · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Countif 100k · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Countif 100k · 100,000 | 1.09 ms / 1.13 ms | 0.91 ms / 0.97 ms | 0.84× | Faster |
| Criteria multi range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria multi range edit · 100,000 | 5.45 ms / 5.54 ms | 4.84 ms / 4.97 ms | 0.89× | Faster |
| Criteria range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Criteria range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Criteria range edit · 100,000 | 1.62 ms / 1.64 ms | 1.56 ms / 1.60 ms | 0.97× | Faster |
| Cross sheet range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 · allocation stat · retained bytes | 624.9 KiB | 602.2 KiB | 0.96× | Smaller |
| Cross sheet range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cross sheet range edit · 1,000 | 0.51 ms / 0.52 ms | 0.26 ms / 0.31 ms | 0.51× (p95 0.59×) | Faster |
| Cycles · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Cycles · 1,000 · allocation stat · retained bytes | 727.5 KiB | 682.7 KiB | 0.94× | Smaller |
| Cycles · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Cycles · 1,000 | 1.36 ms / 1.43 ms | 0.46 ms / 0.47 ms | 0.34× | Faster |
| Diamond edit · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Diamond edit · 32 · allocation stat · retained bytes | 42.1 KiB | 36.4 KiB | 0.87× | Smaller |
| Diamond edit · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Diamond edit · 32 | 0.10 ms / 0.11 ms | 0.04 ms / 0.06 ms | 0.44× (p95 0.60×) | Faster |
| Distinct range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Distinct range edit · 1,000 · allocation stat · retained bytes | 844.8 KiB | 817.6 KiB | 0.97× | Smaller |
| Distinct range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Distinct range edit · 1,000 | 0.01 ms / 0.02 ms | 0.02 ms / 0.03 ms | 1.58× (p95 1.29×) | Within budget |
| Error propagation · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Error propagation · 1,000 · allocation stat · retained bytes | 307.4 KiB | 276.6 KiB | 0.90× | Smaller |
| Error propagation · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Error propagation · 1,000 | 0.74 ms / 0.91 ms | 0.25 ms | 0.33× (p95 0.28×) | Faster |
| Formula constant edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Formula constant edit · 100,000 · allocation stat · retained bytes | 55.0 MiB | 53.3 MiB | 0.97× | Smaller |
| Formula constant edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Formula constant edit · 100,000 | 0.03 ms / 0.04 ms | 0.03 ms / 0.04 ms | 0.96× | Faster |
| Incremental dependency closure edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 · allocation stat · retained bytes | 72.0 MiB | 68.7 MiB | 0.95× | Smaller |
| Incremental dependency closure edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Incremental dependency closure edit · 100,000 | 0.02 ms / 0.03 ms | 0.02 ms / 0.03 ms | 0.93× | Faster |
| Independent first recompute · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 100,000 · allocation stat · retained bytes | 36.6 MiB | 35.0 MiB | 0.96× | Smaller |
| Independent first recompute · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 100,000 | 80.1 ms / 86.7 ms | 39.0 ms / 40.5 ms | 0.49× | Faster |
| Independent first recompute · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Independent first recompute · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 10,000 | 4.94 ms / 5.39 ms | 2.29 ms / 2.33 ms | 0.46× | Faster |
| Independent first recompute · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent first recompute · 1,000 · allocation stat · retained bytes | 461.7 KiB | 434.9 KiB | 0.94× | Smaller |
| Independent first recompute · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent first recompute · 1,000 | 0.63 ms / 0.93 ms | 0.44 ms / 0.47 ms | 0.69× (p95 0.50×) | Faster |
| Independent parse load · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 100,000 · allocation stat · retained bytes | 28.5 MiB | 27.7 MiB | 0.97× | Smaller |
| Independent parse load · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 100,000 | 53.6 ms / 54.6 ms | 53.5 ms / 53.9 ms | 1.00× | Faster |
| Independent parse load · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 10,000 · allocation stat · retained bytes | 3.1 MiB | 3.0 MiB | 0.96× | Smaller |
| Independent parse load · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 10,000 | 5.98 ms / 6.75 ms | 5.80 ms / 7.12 ms | 0.97× (p95 1.05×) | Faster |
| Independent parse load · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Independent parse load · 1,000 · allocation stat · retained bytes | 359.0 KiB | 344.3 KiB | 0.96× | Smaller |
| Independent parse load · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Independent parse load · 1,000 | 0.83 ms / 0.96 ms | 1.21 ms / 1.57 ms | 1.46× (p95 1.64×) | Flagged |
| Iterative finance · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Iterative finance · 1,000 · allocation stat · retained bytes | 878.6 KiB | 851.8 KiB | 0.97× | Smaller |
| Iterative finance · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Iterative finance · 1,000 | 3.60 ms / 5.36 ms | 3.02 ms / 3.38 ms | 0.84× (p95 0.63×) | Faster |
| Let repeat · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Let repeat · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Let repeat · 100,000 | 1.88 ms / 1.99 ms | 1.80 ms / 2.10 ms | 0.96× (p95 1.05×) | Faster |
| Let reuse edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Let reuse edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Let reuse edit · 100,000 | 0.55 ms / 0.59 ms | 0.51 ms / 0.58 ms | 0.92× (p95 0.99×) | Faster |
| Linear chain · 16 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 16 · allocation stat · retained bytes | 13.4 KiB | 8.4 KiB | 0.63× | Smaller |
| Linear chain · 16 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 16 | 0.02 ms / 0.03 ms | 0.02 ms | 0.69× (p95 0.75×) | Faster |
| Linear chain · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 32 · allocation stat · retained bytes | 20.5 KiB | 15.3 KiB | 0.75× | Smaller |
| Linear chain · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 32 | 0.06 ms / 0.07 ms | 0.03 ms | 0.49× | Faster |
| Linear chain · 64 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 64 · allocation stat · retained bytes | 34.7 KiB | 29.1 KiB | 0.84× | Smaller |
| Linear chain · 64 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 64 | 0.11 ms / 0.12 ms | 0.04 ms | 0.32× | Faster |
| Linear chain · 8 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Linear chain · 8 · allocation stat · retained bytes | 9.0 KiB | 4.2 KiB | 0.46× | Smaller |
| Linear chain · 8 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Linear chain · 8 | 0.02 ms / 0.03 ms | 0.02 ms / 0.03 ms | 1.06× (p95 0.95×) | Within budget |
| Lookup range edit · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Lookup range edit · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Lookup range edit · 100,000 | 1.76 ms / 1.87 ms | 1.67 ms / 1.72 ms | 0.95× | Faster |
| Percentile covariance · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Percentile covariance · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Percentile covariance · 100,000 | 3.64 ms / 3.74 ms | 2.93 ms / 3.06 ms | 0.81× | Faster |
| Removed sheet ref · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Removed sheet ref · 1,000 · allocation stat · retained bytes | 230.7 KiB | 192.2 KiB | 0.83× | Smaller |
| Removed sheet ref · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Removed sheet ref · 1,000 | 0.41 ms / 0.42 ms | 0.20 ms / 0.21 ms | 0.50× | Faster |
| Scalar edit affects 0 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 0 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 0 · 1,000 | 3 µs | 3 µs / 4 µs | 1.01× (p95 1.18×) | Within budget |
| Scalar edit affects 100000 · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Scalar edit affects 100000 · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 100000 · 100,000 | 52.5 ms / 53.4 ms | 20.7 ms / 21.0 ms | 0.39× | Faster |
| Scalar edit affects 1000 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Scalar edit affects 1000 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1000 · 1,000 | 0.31 ms / 0.33 ms | 0.19 ms / 0.26 ms | 0.60× (p95 0.80×) | Faster |
| Scalar edit affects 1 · 1 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 · allocation stat · retained bytes | 7.2 KiB | 2.4 KiB | 0.33× | Smaller |
| Scalar edit affects 1 · 1 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Scalar edit affects 1 · 1 | 4 µs / 7 µs | 4 µs / 6 µs | 1.07× (p95 0.83×) | Within budget |
| Shared range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Shared range edit · 1,000 · allocation stat · retained bytes | 518.1 KiB | 491.4 KiB | 0.95× | Smaller |
| Shared range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Shared range edit · 1,000 | 0.50 ms / 0.52 ms | 0.25 ms / 0.28 ms | 0.50× | Faster |
| Spill filter resize · 100,000 · allocation stat · peak transient bytes | 4.6 MiB | 4.6 MiB | 1.00× | Unchanged |
| Spill filter resize · 100,000 · allocation stat · retained bytes | 6.4 MiB | 5.6 MiB | 0.88× | Smaller |
| Spill filter resize · 100,000 · allocation stat · transient allocations | 3 | 3 | 1.00× | Unchanged |
| Spill filter resize · 100,000 | 21.8 ms / 21.9 ms | 10.5 ms / 10.6 ms | 0.48× | Faster |
| Spill sequence admission · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Spill sequence admission · 100,000 · allocation stat · retained bytes | 3.9 MiB | 3.1 MiB | 0.80× | Smaller |
| Spill sequence admission · 100,000 · allocation stat · transient allocations | 1 | 1 | 1.00× | Unchanged |
| Spill sequence admission · 100,000 | 11.3 ms / 11.5 ms | 5.34 ms / 5.43 ms | 0.47× | Faster |
| Sum multi range · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sum multi range · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sum multi range · 100,000 | 3.94 ms / 4.18 ms | 3.79 ms / 3.93 ms | 0.96× | Faster |
| Sumifs 3 criteria · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · retained bytes | 6.2 MiB | 6.2 MiB | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumifs 3 criteria · 100,000 | 6.46 ms / 6.80 ms | 5.99 ms / 6.04 ms | 0.93× | Faster |
| Sumproduct matrix edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · retained bytes | 2.6 MiB | 2.6 MiB | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct matrix edit · 100,000 | 1.70 ms / 1.76 ms | 1.58 ms / 1.63 ms | 0.93× | Faster |
| Sumproduct vector edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Sumproduct vector edit · 100,000 | 2.20 ms / 2.34 ms | 2.00 ms / 2.08 ms | 0.91× | Faster |
| Text lookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many edit · 1,000 | 2.19 ms / 2.96 ms | 1.67 ms / 1.68 ms | 0.76× (p95 0.57×) | Faster |
| Text lookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted edit · 1,000 | 3.14 ms / 3.27 ms | 2.79 ms / 2.89 ms | 0.89× | Faster |
| Text lookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Text lookup many sorted · 1,000 | 3.18 ms / 3.83 ms | 3.31 ms / 3.37 ms | 1.04× (p95 0.88×) | Within budget |
| Text lookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Text lookup many · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Text lookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Text lookup many · 1,000 | 2.12 ms / 2.17 ms | 2.45 ms / 3.22 ms | 1.16× (p95 1.48×) | Flagged |
| Topology remove add · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Topology remove add · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Topology remove add · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Topology remove add · 10,000 | 8.29 ms / 8.90 ms | 5.35 ms / 5.40 ms | 0.65× | Faster |
| Unicode text date edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Unicode text date edit · 1,000 · allocation stat · retained bytes | 1.2 MiB | 1.1 MiB | 0.98× | Smaller |
| Unicode text date edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Unicode text date edit · 1,000 | 1.09 ms / 1.27 ms | 0.95 ms / 0.98 ms | 0.88× (p95 0.77×) | Faster |
| Vlookup many edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many edit · 1,000 | 1.13 ms / 1.15 ms | 0.81 ms / 0.82 ms | 0.72× | Faster |
| Vlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted edit · 1,000 | 1.50 ms / 1.55 ms | 1.21 ms / 1.22 ms | 0.81× | Faster |
| Vlookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many sorted · 1,000 | 1.62 ms | 1.29 ms / 1.30 ms | 0.80× | Faster |
| Vlookup many · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Vlookup many · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Vlookup many · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Vlookup many · 1,000 | 1.29 ms / 1.37 ms | 0.90 ms / 0.99 ms | 0.70× | Faster |
| Wide fan out edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Wide fan out edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 100,000 | 53.5 ms / 56.8 ms | 21.3 ms / 21.4 ms | 0.40× | Faster |
| Wide fan out edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Wide fan out edit · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Wide fan out edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Wide fan out edit · 1,000 | 0.53 ms / 0.54 ms | 0.13 ms / 0.15 ms | 0.25× | Faster |
| Xlookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many edit · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many edit · 1,000 | 1.12 ms / 1.14 ms | 0.83 ms | 0.74× | Faster |
| Xlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted edit · 1,000 | 1.56 ms / 1.57 ms | 1.30 ms / 1.31 ms | 0.83× | Faster |
| Xlookup many sorted · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Xlookup many sorted · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many sorted · 1,000 | 1.70 ms / 1.71 ms | 1.35 ms / 1.36 ms | 0.79× | Faster |
| Xlookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Xlookup many · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Xlookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Xlookup many · 1,000 | 1.25 ms / 1.28 ms | 0.91 ms / 0.94 ms | 0.73× | Faster |
Artifact bench/results/full-engine-results.json. Baseline: 0.5.4 engine (WASM) under 0.6 core and harness, ac4ab632d80a · 2026-10-29 04:24 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:24 UTC.
Threshold: formula-release-limit. Release limits: max(baseline × 1.25, baseline + 0.1 ms) for median and p95; baseline medians below 1 ms gate median only with a 0.3 ms floor. Attributed allocation summaries may not grow. Independent release comparison, not a paired gate verdict. Source: bench/src/formula-bench.ts; bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Dsum · 1,000 · allocation stat · peak transient bytes | 3.2 KiB | 3.2 KiB | 1.00× | Unchanged |
| Dsum · 1,000 · allocation stat · retained bytes | 599.7 KiB | 572.8 KiB | 0.96× | Smaller |
| Dsum · 1,000 · allocation stat · transient allocations | 2,000 | 2,000 | 1.00× | Unchanged |
| Dsum · 1,000 | 3.00 ms / 4.96 ms | 2.96 ms / 3.18 ms | 0.99× (p95 0.64×) | Faster |
| Linest · 1,000 · allocation stat · peak transient bytes | 3.2 KiB | 3.2 KiB | 1.00× | Unchanged |
| Linest · 1,000 · allocation stat · retained bytes | 780.2 KiB | 753.4 KiB | 0.97× | Smaller |
| Linest · 1,000 · allocation stat · transient allocations | 3,000 | 3,000 | 1.00× | Unchanged |
| Linest · 1,000 | 4.43 ms / 6.30 ms | 3.80 ms / 6.00 ms | 0.86× (p95 0.95×) | Faster |
| Map reduce · 1,000 · allocation stat · peak transient bytes | 3.1 KiB | 3.1 KiB | 1.00× | Unchanged |
| Map reduce · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Map reduce · 1,000 · allocation stat · transient allocations | 3,000 | 3,000 | 1.00× | Unchanged |
| Map reduce · 1,000 | 22.6 ms / 22.8 ms | 22.6 ms / 23.1 ms | 1.00× | Faster |
| Mmult · 1,000 · allocation stat · peak transient bytes | 64 B | 64 B | 1.00× | Unchanged |
| Mmult · 1,000 · allocation stat · retained bytes | 775.3 KiB | 748.5 KiB | 0.97× | Smaller |
| Mmult · 1,000 · allocation stat · transient allocations | 3,000 | 3,000 | 1.00× | Unchanged |
| Mmult · 1,000 | 1.14 ms / 1.18 ms | 0.82 ms / 0.92 ms | 0.72× (p95 0.78×) | Faster |
| Mode mult · 1,000 · allocation stat · peak transient bytes | 64 B | 64 B | 1.00× | Unchanged |
| Mode mult · 1,000 · allocation stat · retained bytes | 862.5 KiB | 835.6 KiB | 0.97× | Smaller |
| Mode mult · 1,000 · allocation stat · transient allocations | 6,000 | 6,000 | 1.00× | Unchanged |
| Mode mult · 1,000 | 1.04 ms / 1.05 ms | 0.81 ms / 0.84 ms | 0.78× | Faster |
| Sortby · 1,000 · allocation stat · peak transient bytes | 4.7 KiB | 4.7 KiB | 1.00× | Unchanged |
| Sortby · 1,000 · allocation stat · retained bytes | 835.9 KiB | 809.0 KiB | 0.97× | Smaller |
| Sortby · 1,000 · allocation stat · transient allocations | 3,000 | 3,000 | 1.00× | Unchanged |
| Sortby · 1,000 | 3.39 ms / 3.80 ms | 3.46 ms / 4.40 ms | 1.02× (p95 1.16×) | Within budget |
| Textsplit regexreplace · 1,000 · allocation stat · peak transient bytes | 48 B | 48 B | 1.00× | Unchanged |
| Textsplit regexreplace · 1,000 · allocation stat · retained bytes | 918.1 KiB | 891.2 KiB | 0.97× | Smaller |
| Textsplit regexreplace · 1,000 · allocation stat · transient allocations | 2,000 | 2,000 | 1.00× | Unchanged |
| Textsplit regexreplace · 1,000 | 2.47 ms / 2.51 ms | 2.77 ms / 2.84 ms | 1.12× | Within budget |
| Xirr · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Xirr · 1,000 · allocation stat · retained bytes | 582.0 KiB | 555.1 KiB | 0.95× | Smaller |
| Xirr · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Xirr · 1,000 | 1.36 ms / 2.05 ms | 0.92 ms / 1.33 ms | 0.67× | Faster |
| Default · initialization | — | 4.28 ms / 4.73 ms | — | New in 0.6 · 0.6-only: timed current-core path; no version ratio |
| Default · countif 100k · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · countif 100k · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Default · countif 100k · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · countif 100k · 100,000 | 0.94 ms / 0.96 ms | 0.89 ms / 0.91 ms | 0.95× | Faster |
| Default · criteria multi range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · criteria multi range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Default · criteria multi range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · criteria multi range edit · 100,000 | 5.50 ms / 7.79 ms | 5.16 ms / 5.45 ms | 0.94× (p95 0.70×) | Faster |
| Default · criteria range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · criteria range edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Default · criteria range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · criteria range edit · 100,000 | 1.62 ms / 1.66 ms | 1.59 ms / 1.68 ms | 0.98× | Faster |
| Default · cross sheet range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · cross sheet range edit · 1,000 · allocation stat · retained bytes | 624.9 KiB | 602.2 KiB | 0.96× | Smaller |
| Default · cross sheet range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · cross sheet range edit · 1,000 | 0.53 ms / 0.83 ms | 0.28 ms / 0.29 ms | 0.53× (p95 0.35×) | Faster |
| Default · cycles · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · cycles · 1,000 · allocation stat · retained bytes | 727.5 KiB | 682.7 KiB | 0.94× | Smaller |
| Default · cycles · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · cycles · 1,000 | 1.40 ms / 1.48 ms | 0.48 ms / 0.54 ms | 0.34× | Faster |
| Default · diamond edit · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · diamond edit · 32 · allocation stat · retained bytes | 42.1 KiB | 36.4 KiB | 0.87× | Smaller |
| Default · diamond edit · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · diamond edit · 32 | 0.09 ms / 0.10 ms | 0.04 ms / 0.05 ms | 0.49× | Faster |
| Default · distinct range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · distinct range edit · 1,000 · allocation stat · retained bytes | 844.8 KiB | 817.6 KiB | 0.97× | Smaller |
| Default · distinct range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · distinct range edit · 1,000 | 0.01 ms / 0.02 ms | 0.01 ms / 0.02 ms | 1.05× (p95 1.16×) | Within budget |
| Default · error propagation · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · error propagation · 1,000 · allocation stat · retained bytes | 307.4 KiB | 276.6 KiB | 0.90× | Smaller |
| Default · error propagation · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · error propagation · 1,000 | 0.73 ms / 0.75 ms | 0.25 ms / 0.26 ms | 0.35× | Faster |
| Default · formula constant edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · formula constant edit · 100,000 · allocation stat · retained bytes | 55.0 MiB | 53.3 MiB | 0.97× | Smaller |
| Default · formula constant edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · formula constant edit · 100,000 | 0.03 ms / 0.04 ms | 0.03 ms / 0.04 ms | 1.04× (p95 0.86×) | Within budget |
| Default · incremental dependency closure edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · incremental dependency closure edit · 100,000 · allocation stat · retained bytes | 72.0 MiB | 68.7 MiB | 0.95× | Smaller |
| Default · incremental dependency closure edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · incremental dependency closure edit · 100,000 | 0.02 ms / 0.03 ms | 0.02 ms | 0.93× | Faster |
| Default · independent first recompute · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent first recompute · 100,000 · allocation stat · retained bytes | 36.6 MiB | 35.0 MiB | 0.96× | Smaller |
| Default · independent first recompute · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent first recompute · 100,000 | 80.3 ms / 86.3 ms | 40.1 ms / 42.5 ms | 0.50× | Faster |
| Default · independent first recompute · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent first recompute · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Default · independent first recompute · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent first recompute · 10,000 | 4.78 ms / 4.90 ms | 2.75 ms / 2.84 ms | 0.58× | Faster |
| Default · independent first recompute · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent first recompute · 1,000 · allocation stat · retained bytes | 461.7 KiB | 434.9 KiB | 0.94× | Smaller |
| Default · independent first recompute · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent first recompute · 1,000 | 0.72 ms / 1.06 ms | 0.44 ms / 0.54 ms | 0.61× (p95 0.51×) | Faster |
| Default · independent parse load · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent parse load · 100,000 · allocation stat · retained bytes | 28.5 MiB | 27.7 MiB | 0.97× | Smaller |
| Default · independent parse load · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent parse load · 100,000 | 54.0 ms / 54.5 ms | 59.7 ms / 59.9 ms | 1.10× | Within budget |
| Default · independent parse load · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent parse load · 10,000 · allocation stat · retained bytes | 3.1 MiB | 3.0 MiB | 0.96× | Smaller |
| Default · independent parse load · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent parse load · 10,000 | 7.21 ms / 7.60 ms | 6.33 ms / 6.63 ms | 0.88× | Faster |
| Default · independent parse load · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · independent parse load · 1,000 · allocation stat · retained bytes | 359.0 KiB | 344.3 KiB | 0.96× | Smaller |
| Default · independent parse load · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · independent parse load · 1,000 | 0.86 ms / 0.94 ms | 1.14 ms / 1.57 ms | 1.33× (p95 1.66×) | Within budget |
| Default · iterative finance · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · iterative finance · 1,000 · allocation stat · retained bytes | 878.6 KiB | 851.8 KiB | 0.97× | Smaller |
| Default · iterative finance · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · iterative finance · 1,000 | 3.13 ms / 3.15 ms | 2.85 ms / 2.88 ms | 0.91× | Faster |
| Default · let repeat · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Default · let repeat · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Default · let repeat · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · let repeat · 100,000 | 1.65 ms / 1.70 ms | 1.71 ms / 1.77 ms | 1.03× | Within budget |
| Default · let reuse edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · let reuse edit · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Default · let reuse edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · let reuse edit · 100,000 | 0.58 ms / 0.64 ms | 0.51 ms | 0.88× (p95 0.80×) | Faster |
| Default · linear chain · 16 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · linear chain · 16 · allocation stat · retained bytes | 13.4 KiB | 8.4 KiB | 0.63× | Smaller |
| Default · linear chain · 16 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · linear chain · 16 | 0.02 ms / 0.03 ms | 0.02 ms | 0.70× | Faster |
| Default · linear chain · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · linear chain · 32 · allocation stat · retained bytes | 20.5 KiB | 15.3 KiB | 0.75× | Smaller |
| Default · linear chain · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · linear chain · 32 | 0.04 ms / 0.05 ms | 0.03 ms | 0.71× | Faster |
| Default · linear chain · 64 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · linear chain · 64 · allocation stat · retained bytes | 34.7 KiB | 29.1 KiB | 0.84× | Smaller |
| Default · linear chain · 64 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · linear chain · 64 | 0.07 ms / 0.08 ms | 0.04 ms | 0.55× | Faster |
| Default · linear chain · 8 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · linear chain · 8 · allocation stat · retained bytes | 9.0 KiB | 4.2 KiB | 0.46× | Smaller |
| Default · linear chain · 8 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · linear chain · 8 | 0.02 ms / 0.03 ms | 0.02 ms / 0.04 ms | 1.45× (p95 1.10×) | Within budget |
| Default · lookup range edit · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Default · lookup range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Default · lookup range edit · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · lookup range edit · 100,000 | 1.73 ms / 1.79 ms | 1.71 ms / 1.77 ms | 0.99× | Faster |
| Default · percentile covariance · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · percentile covariance · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Default · percentile covariance · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · percentile covariance · 100,000 | 3.15 ms / 3.18 ms | 2.83 ms / 2.86 ms | 0.90× | Faster |
| Default · removed sheet ref · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · removed sheet ref · 1,000 · allocation stat · retained bytes | 230.7 KiB | 192.2 KiB | 0.83× | Smaller |
| Default · removed sheet ref · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · removed sheet ref · 1,000 | 0.42 ms | 0.20 ms / 0.21 ms | 0.48× | Faster |
| Default · scalar edit affects 0 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · scalar edit affects 0 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Default · scalar edit affects 0 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · scalar edit affects 0 · 1,000 | 3 µs / 4 µs | 3 µs | 0.88× (p95 0.80×) | Faster |
| Default · scalar edit affects 100000 · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · scalar edit affects 100000 · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Default · scalar edit affects 100000 · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · scalar edit affects 100000 · 100,000 | 57.5 ms / 58.6 ms | 20.7 ms / 21.6 ms | 0.36× | Faster |
| Default · scalar edit affects 1000 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · scalar edit affects 1000 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Default · scalar edit affects 1000 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · scalar edit affects 1000 · 1,000 | 0.31 ms / 0.33 ms | 0.14 ms / 0.29 ms | 0.45× (p95 0.89×) | Faster |
| Default · scalar edit affects 1 · 1 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · scalar edit affects 1 · 1 · allocation stat · retained bytes | 7.2 KiB | 2.4 KiB | 0.33× | Smaller |
| Default · scalar edit affects 1 · 1 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · scalar edit affects 1 · 1 | 3 µs / 7 µs | 4 µs | 1.14× (p95 0.58×) | Within budget |
| Default · shared range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · shared range edit · 1,000 · allocation stat · retained bytes | 518.1 KiB | 491.4 KiB | 0.95× | Smaller |
| Default · shared range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · shared range edit · 1,000 | 0.63 ms / 0.91 ms | 0.25 ms / 0.30 ms | 0.40× (p95 0.33×) | Faster |
| Default · spill filter resize · 100,000 · allocation stat · peak transient bytes | 4.6 MiB | 4.6 MiB | 1.00× | Unchanged |
| Default · spill filter resize · 100,000 · allocation stat · retained bytes | 6.4 MiB | 5.6 MiB | 0.88× | Smaller |
| Default · spill filter resize · 100,000 · allocation stat · transient allocations | 3 | 3 | 1.00× | Unchanged |
| Default · spill filter resize · 100,000 | 22.3 ms / 22.8 ms | 10.6 ms / 11.4 ms | 0.48× | Faster |
| Default · spill sequence admission · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Default · spill sequence admission · 100,000 · allocation stat · retained bytes | 3.9 MiB | 3.1 MiB | 0.80× | Smaller |
| Default · spill sequence admission · 100,000 · allocation stat · transient allocations | 1 | 1 | 1.00× | Unchanged |
| Default · spill sequence admission · 100,000 | 11.0 ms / 11.3 ms | 4.36 ms / 4.44 ms | 0.39× | Faster |
| Default · sum multi range · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · sum multi range · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Default · sum multi range · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · sum multi range · 100,000 | 3.90 ms / 4.19 ms | 4.36 ms / 4.39 ms | 1.12× (p95 1.05×) | Within budget |
| Default · sumifs 3 criteria · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · sumifs 3 criteria · 100,000 · allocation stat · retained bytes | 6.2 MiB | 6.2 MiB | 1.00× | Unchanged |
| Default · sumifs 3 criteria · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · sumifs 3 criteria · 100,000 | 6.14 ms / 6.20 ms | 5.61 ms / 5.83 ms | 0.91× | Faster |
| Default · sumproduct matrix edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · sumproduct matrix edit · 100,000 · allocation stat · retained bytes | 2.6 MiB | 2.6 MiB | 1.00× | Unchanged |
| Default · sumproduct matrix edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · sumproduct matrix edit · 100,000 | 1.72 ms / 3.01 ms | 1.83 ms / 1.86 ms | 1.06× (p95 0.62×) | Within budget |
| Default · sumproduct vector edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · sumproduct vector edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Default · sumproduct vector edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · sumproduct vector edit · 100,000 | 1.82 ms / 2.94 ms | 1.88 ms / 1.90 ms | 1.03× (p95 0.65×) | Within budget |
| Default · text lookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · text lookup many edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Default · text lookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · text lookup many edit · 1,000 | 1.93 ms / 2.01 ms | 1.94 ms / 1.96 ms | 1.01× | Within budget |
| Default · text lookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · text lookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Default · text lookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · text lookup many sorted edit · 1,000 | 3.26 ms / 3.31 ms | 3.39 ms / 3.43 ms | 1.04× | Within budget |
| Default · text lookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · text lookup many sorted · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Default · text lookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · text lookup many sorted · 1,000 | 3.20 ms / 3.29 ms | 4.02 ms / 4.45 ms | 1.26× (p95 1.35×) | Flagged |
| Default · text lookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · text lookup many · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Default · text lookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · text lookup many · 1,000 | 2.11 ms / 2.14 ms | 2.58 ms / 2.65 ms | 1.22× | Within budget |
| Default · topology remove add · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · topology remove add · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Default · topology remove add · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · topology remove add · 10,000 | 8.12 ms / 8.30 ms | 6.02 ms / 6.15 ms | 0.74× | Faster |
| Default · unicode text date edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · unicode text date edit · 1,000 · allocation stat · retained bytes | 1.2 MiB | 1.1 MiB | 0.98× | Smaller |
| Default · unicode text date edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · unicode text date edit · 1,000 | 1.01 ms / 1.09 ms | 0.80 ms / 0.86 ms | 0.79× | Faster |
| Default · vlookup many edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · vlookup many edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · vlookup many edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · vlookup many edit · 1,000 | 1.14 ms / 1.16 ms | 0.82 ms / 0.83 ms | 0.72× | Faster |
| Default · vlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · vlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · vlookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · vlookup many sorted edit · 1,000 | 1.52 ms / 1.54 ms | 1.25 ms / 1.29 ms | 0.82× | Faster |
| Default · vlookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · vlookup many sorted · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · vlookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · vlookup many sorted · 1,000 | 1.65 ms / 1.67 ms | 1.31 ms / 2.02 ms | 0.79× (p95 1.21×) | Faster |
| Default · vlookup many · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Default · vlookup many · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · vlookup many · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Default · vlookup many · 1,000 | 1.30 ms / 1.38 ms | 0.92 ms / 1.05 ms | 0.71× (p95 0.76×) | Faster |
| Default · wide fan out edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · wide fan out edit · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Default · wide fan out edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · wide fan out edit · 100,000 | 52.2 ms / 55.3 ms | 21.9 ms / 22.4 ms | 0.42× | Faster |
| Default · wide fan out edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Default · wide fan out edit · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Default · wide fan out edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Default · wide fan out edit · 1,000 | 0.31 ms / 0.35 ms | 0.15 ms / 0.16 ms | 0.49× | Faster |
| Default · xlookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · xlookup many edit · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · xlookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · xlookup many edit · 1,000 | 1.11 ms / 1.14 ms | 0.83 ms / 0.85 ms | 0.74× | Faster |
| Default · xlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · xlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Default · xlookup many sorted edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · xlookup many sorted edit · 1,000 | 1.55 ms / 1.68 ms | 1.25 ms / 1.32 ms | 0.81× | Faster |
| Default · xlookup many sorted · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · xlookup many sorted · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Default · xlookup many sorted · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · xlookup many sorted · 1,000 | 1.66 ms / 1.87 ms | 1.35 ms / 1.46 ms | 0.81× | Faster |
| Default · xlookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Default · xlookup many · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Default · xlookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Default · xlookup many · 1,000 | 1.28 ms / 1.29 ms | 0.90 ms / 0.91 ms | 0.70× | Faster |
| Full · initialization | — | 5.77 ms / 6.26 ms | — | New in 0.6 · 0.6-only: timed current-core path; no version ratio |
| Full · countif 100k · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · countif 100k · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Full · countif 100k · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · countif 100k · 100,000 | 1.09 ms / 1.13 ms | 0.91 ms / 0.97 ms | 0.84× | Faster |
| Full · criteria multi range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · criteria multi range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Full · criteria multi range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · criteria multi range edit · 100,000 | 5.45 ms / 5.54 ms | 4.84 ms / 4.97 ms | 0.89× | Faster |
| Full · criteria range edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · criteria range edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Full · criteria range edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · criteria range edit · 100,000 | 1.62 ms / 1.64 ms | 1.56 ms / 1.60 ms | 0.97× | Faster |
| Full · cross sheet range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · cross sheet range edit · 1,000 · allocation stat · retained bytes | 624.9 KiB | 602.2 KiB | 0.96× | Smaller |
| Full · cross sheet range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · cross sheet range edit · 1,000 | 0.51 ms / 0.52 ms | 0.26 ms / 0.31 ms | 0.51× (p95 0.59×) | Faster |
| Full · cycles · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · cycles · 1,000 · allocation stat · retained bytes | 727.5 KiB | 682.7 KiB | 0.94× | Smaller |
| Full · cycles · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · cycles · 1,000 | 1.36 ms / 1.43 ms | 0.46 ms / 0.47 ms | 0.34× | Faster |
| Full · diamond edit · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · diamond edit · 32 · allocation stat · retained bytes | 42.1 KiB | 36.4 KiB | 0.87× | Smaller |
| Full · diamond edit · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · diamond edit · 32 | 0.10 ms / 0.11 ms | 0.04 ms / 0.06 ms | 0.44× (p95 0.60×) | Faster |
| Full · distinct range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · distinct range edit · 1,000 · allocation stat · retained bytes | 844.8 KiB | 817.6 KiB | 0.97× | Smaller |
| Full · distinct range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · distinct range edit · 1,000 | 0.01 ms / 0.02 ms | 0.02 ms / 0.03 ms | 1.58× (p95 1.29×) | Within budget |
| Full · error propagation · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · error propagation · 1,000 · allocation stat · retained bytes | 307.4 KiB | 276.6 KiB | 0.90× | Smaller |
| Full · error propagation · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · error propagation · 1,000 | 0.74 ms / 0.91 ms | 0.25 ms | 0.33× (p95 0.28×) | Faster |
| Full · formula constant edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · formula constant edit · 100,000 · allocation stat · retained bytes | 55.0 MiB | 53.3 MiB | 0.97× | Smaller |
| Full · formula constant edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · formula constant edit · 100,000 | 0.03 ms / 0.04 ms | 0.03 ms / 0.04 ms | 0.96× | Faster |
| Full · incremental dependency closure edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · incremental dependency closure edit · 100,000 · allocation stat · retained bytes | 72.0 MiB | 68.7 MiB | 0.95× | Smaller |
| Full · incremental dependency closure edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · incremental dependency closure edit · 100,000 | 0.02 ms / 0.03 ms | 0.02 ms / 0.03 ms | 0.93× | Faster |
| Full · independent first recompute · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent first recompute · 100,000 · allocation stat · retained bytes | 36.6 MiB | 35.0 MiB | 0.96× | Smaller |
| Full · independent first recompute · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent first recompute · 100,000 | 80.1 ms / 86.7 ms | 39.0 ms / 40.5 ms | 0.49× | Faster |
| Full · independent first recompute · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent first recompute · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Full · independent first recompute · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent first recompute · 10,000 | 4.94 ms / 5.39 ms | 2.29 ms / 2.33 ms | 0.46× | Faster |
| Full · independent first recompute · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent first recompute · 1,000 · allocation stat · retained bytes | 461.7 KiB | 434.9 KiB | 0.94× | Smaller |
| Full · independent first recompute · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent first recompute · 1,000 | 0.63 ms / 0.93 ms | 0.44 ms / 0.47 ms | 0.69× (p95 0.50×) | Faster |
| Full · independent parse load · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent parse load · 100,000 · allocation stat · retained bytes | 28.5 MiB | 27.7 MiB | 0.97× | Smaller |
| Full · independent parse load · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent parse load · 100,000 | 53.6 ms / 54.6 ms | 53.5 ms / 53.9 ms | 1.00× | Faster |
| Full · independent parse load · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent parse load · 10,000 · allocation stat · retained bytes | 3.1 MiB | 3.0 MiB | 0.96× | Smaller |
| Full · independent parse load · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent parse load · 10,000 | 5.98 ms / 6.75 ms | 5.80 ms / 7.12 ms | 0.97× (p95 1.05×) | Faster |
| Full · independent parse load · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · independent parse load · 1,000 · allocation stat · retained bytes | 359.0 KiB | 344.3 KiB | 0.96× | Smaller |
| Full · independent parse load · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · independent parse load · 1,000 | 0.83 ms / 0.96 ms | 1.21 ms / 1.57 ms | 1.46× (p95 1.64×) | Flagged |
| Full · iterative finance · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · iterative finance · 1,000 · allocation stat · retained bytes | 878.6 KiB | 851.8 KiB | 0.97× | Smaller |
| Full · iterative finance · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · iterative finance · 1,000 | 3.60 ms / 5.36 ms | 3.02 ms / 3.38 ms | 0.84× (p95 0.63×) | Faster |
| Full · let repeat · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Full · let repeat · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Full · let repeat · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · let repeat · 100,000 | 1.88 ms / 1.99 ms | 1.80 ms / 2.10 ms | 0.96× (p95 1.05×) | Faster |
| Full · let reuse edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · let reuse edit · 100,000 · allocation stat · retained bytes | 2.5 MiB | 2.5 MiB | 1.00× | Unchanged |
| Full · let reuse edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · let reuse edit · 100,000 | 0.55 ms / 0.59 ms | 0.51 ms / 0.58 ms | 0.92× (p95 0.99×) | Faster |
| Full · linear chain · 16 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · linear chain · 16 · allocation stat · retained bytes | 13.4 KiB | 8.4 KiB | 0.63× | Smaller |
| Full · linear chain · 16 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · linear chain · 16 | 0.02 ms / 0.03 ms | 0.02 ms | 0.69× (p95 0.75×) | Faster |
| Full · linear chain · 32 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · linear chain · 32 · allocation stat · retained bytes | 20.5 KiB | 15.3 KiB | 0.75× | Smaller |
| Full · linear chain · 32 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · linear chain · 32 | 0.06 ms / 0.07 ms | 0.03 ms | 0.49× | Faster |
| Full · linear chain · 64 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · linear chain · 64 · allocation stat · retained bytes | 34.7 KiB | 29.1 KiB | 0.84× | Smaller |
| Full · linear chain · 64 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · linear chain · 64 | 0.11 ms / 0.12 ms | 0.04 ms | 0.32× | Faster |
| Full · linear chain · 8 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · linear chain · 8 · allocation stat · retained bytes | 9.0 KiB | 4.2 KiB | 0.46× | Smaller |
| Full · linear chain · 8 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · linear chain · 8 | 0.02 ms / 0.03 ms | 0.02 ms / 0.03 ms | 1.06× (p95 0.95×) | Within budget |
| Full · lookup range edit · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Full · lookup range edit · 100,000 · allocation stat · retained bytes | 5.0 MiB | 5.0 MiB | 1.00× | Unchanged |
| Full · lookup range edit · 100,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · lookup range edit · 100,000 | 1.76 ms / 1.87 ms | 1.67 ms / 1.72 ms | 0.95× | Faster |
| Full · percentile covariance · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · percentile covariance · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Full · percentile covariance · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · percentile covariance · 100,000 | 3.64 ms / 3.74 ms | 2.93 ms / 3.06 ms | 0.81× | Faster |
| Full · removed sheet ref · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · removed sheet ref · 1,000 · allocation stat · retained bytes | 230.7 KiB | 192.2 KiB | 0.83× | Smaller |
| Full · removed sheet ref · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · removed sheet ref · 1,000 | 0.41 ms / 0.42 ms | 0.20 ms / 0.21 ms | 0.50× | Faster |
| Full · scalar edit affects 0 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · scalar edit affects 0 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Full · scalar edit affects 0 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · scalar edit affects 0 · 1,000 | 3 µs | 3 µs / 4 µs | 1.01× (p95 1.18×) | Within budget |
| Full · scalar edit affects 100000 · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · scalar edit affects 100000 · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Full · scalar edit affects 100000 · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · scalar edit affects 100000 · 100,000 | 52.5 ms / 53.4 ms | 20.7 ms / 21.0 ms | 0.39× | Faster |
| Full · scalar edit affects 1000 · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · scalar edit affects 1000 · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Full · scalar edit affects 1000 · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · scalar edit affects 1000 · 1,000 | 0.31 ms / 0.33 ms | 0.19 ms / 0.26 ms | 0.60× (p95 0.80×) | Faster |
| Full · scalar edit affects 1 · 1 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · scalar edit affects 1 · 1 · allocation stat · retained bytes | 7.2 KiB | 2.4 KiB | 0.33× | Smaller |
| Full · scalar edit affects 1 · 1 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · scalar edit affects 1 · 1 | 4 µs / 7 µs | 4 µs / 6 µs | 1.07× (p95 0.83×) | Within budget |
| Full · shared range edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · shared range edit · 1,000 · allocation stat · retained bytes | 518.1 KiB | 491.4 KiB | 0.95× | Smaller |
| Full · shared range edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · shared range edit · 1,000 | 0.50 ms / 0.52 ms | 0.25 ms / 0.28 ms | 0.50× | Faster |
| Full · spill filter resize · 100,000 · allocation stat · peak transient bytes | 4.6 MiB | 4.6 MiB | 1.00× | Unchanged |
| Full · spill filter resize · 100,000 · allocation stat · retained bytes | 6.4 MiB | 5.6 MiB | 0.88× | Smaller |
| Full · spill filter resize · 100,000 · allocation stat · transient allocations | 3 | 3 | 1.00× | Unchanged |
| Full · spill filter resize · 100,000 | 21.8 ms / 21.9 ms | 10.5 ms / 10.6 ms | 0.48× | Faster |
| Full · spill sequence admission · 100,000 · allocation stat · peak transient bytes | 1.5 MiB | 1.5 MiB | 1.00× | Unchanged |
| Full · spill sequence admission · 100,000 · allocation stat · retained bytes | 3.9 MiB | 3.1 MiB | 0.80× | Smaller |
| Full · spill sequence admission · 100,000 · allocation stat · transient allocations | 1 | 1 | 1.00× | Unchanged |
| Full · spill sequence admission · 100,000 | 11.3 ms / 11.5 ms | 5.34 ms / 5.43 ms | 0.47× | Faster |
| Full · sum multi range · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · sum multi range · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Full · sum multi range · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · sum multi range · 100,000 | 3.94 ms / 4.18 ms | 3.79 ms / 3.93 ms | 0.96× | Faster |
| Full · sumifs 3 criteria · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · sumifs 3 criteria · 100,000 · allocation stat · retained bytes | 6.2 MiB | 6.2 MiB | 1.00× | Unchanged |
| Full · sumifs 3 criteria · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · sumifs 3 criteria · 100,000 | 6.46 ms / 6.80 ms | 5.99 ms / 6.04 ms | 0.93× | Faster |
| Full · sumproduct matrix edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · sumproduct matrix edit · 100,000 · allocation stat · retained bytes | 2.6 MiB | 2.6 MiB | 1.00× | Unchanged |
| Full · sumproduct matrix edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · sumproduct matrix edit · 100,000 | 1.70 ms / 1.76 ms | 1.58 ms / 1.63 ms | 0.93× | Faster |
| Full · sumproduct vector edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · sumproduct vector edit · 100,000 · allocation stat · retained bytes | 3.7 MiB | 3.7 MiB | 1.00× | Unchanged |
| Full · sumproduct vector edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · sumproduct vector edit · 100,000 | 2.20 ms / 2.34 ms | 2.00 ms / 2.08 ms | 0.91× | Faster |
| Full · text lookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · text lookup many edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Full · text lookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · text lookup many edit · 1,000 | 2.19 ms / 2.96 ms | 1.67 ms / 1.68 ms | 0.76× (p95 0.57×) | Faster |
| Full · text lookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · text lookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Full · text lookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · text lookup many sorted edit · 1,000 | 3.14 ms / 3.27 ms | 2.79 ms / 2.89 ms | 0.89× | Faster |
| Full · text lookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · text lookup many sorted · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Full · text lookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · text lookup many sorted · 1,000 | 3.18 ms / 3.83 ms | 3.31 ms / 3.37 ms | 1.04× (p95 0.88×) | Within budget |
| Full · text lookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · text lookup many · 1,000 · allocation stat · retained bytes | 1.6 MiB | 1.6 MiB | 0.98× | Smaller |
| Full · text lookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · text lookup many · 1,000 | 2.12 ms / 2.17 ms | 2.45 ms / 3.22 ms | 1.16× (p95 1.48×) | Flagged |
| Full · topology remove add · 10,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · topology remove add · 10,000 · allocation stat · retained bytes | 4.0 MiB | 3.8 MiB | 0.95× | Smaller |
| Full · topology remove add · 10,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · topology remove add · 10,000 | 8.29 ms / 8.90 ms | 5.35 ms / 5.40 ms | 0.65× | Faster |
| Full · unicode text date edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · unicode text date edit · 1,000 · allocation stat · retained bytes | 1.2 MiB | 1.1 MiB | 0.98× | Smaller |
| Full · unicode text date edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · unicode text date edit · 1,000 | 1.09 ms / 1.27 ms | 0.95 ms / 0.98 ms | 0.88× (p95 0.77×) | Faster |
| Full · vlookup many edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · vlookup many edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · vlookup many edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · vlookup many edit · 1,000 | 1.13 ms / 1.15 ms | 0.81 ms / 0.82 ms | 0.72× | Faster |
| Full · vlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · vlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · vlookup many sorted edit · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · vlookup many sorted edit · 1,000 | 1.50 ms / 1.55 ms | 1.21 ms / 1.22 ms | 0.81× | Faster |
| Full · vlookup many sorted · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · vlookup many sorted · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · vlookup many sorted · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · vlookup many sorted · 1,000 | 1.62 ms | 1.29 ms / 1.30 ms | 0.80× | Faster |
| Full · vlookup many · 1,000 · allocation stat · peak transient bytes | 312.5 KiB | 312.5 KiB | 1.00× | Unchanged |
| Full · vlookup many · 1,000 · allocation stat · retained bytes | 1.0 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · vlookup many · 1,000 · allocation stat · transient allocations | 2 | 2 | 1.00× | Unchanged |
| Full · vlookup many · 1,000 | 1.29 ms / 1.37 ms | 0.90 ms / 0.99 ms | 0.70× | Faster |
| Full · wide fan out edit · 100,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · wide fan out edit · 100,000 · allocation stat · retained bytes | 32.2 MiB | 30.6 MiB | 0.95× | Smaller |
| Full · wide fan out edit · 100,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · wide fan out edit · 100,000 | 53.5 ms / 56.8 ms | 21.3 ms / 21.4 ms | 0.40× | Faster |
| Full · wide fan out edit · 1,000 · allocation stat · peak transient bytes | 0 B | 0 B | 1.00× | Unchanged |
| Full · wide fan out edit · 1,000 · allocation stat · retained bytes | 413.6 KiB | 386.7 KiB | 0.94× | Smaller |
| Full · wide fan out edit · 1,000 · allocation stat · transient allocations | 0 | 0 | 1.00× | Unchanged |
| Full · wide fan out edit · 1,000 | 0.53 ms / 0.54 ms | 0.13 ms / 0.15 ms | 0.25× | Faster |
| Full · xlookup many edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · xlookup many edit · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · xlookup many edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · xlookup many edit · 1,000 | 1.12 ms / 1.14 ms | 0.83 ms | 0.74× | Faster |
| Full · xlookup many sorted edit · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · xlookup many sorted edit · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Full · xlookup many sorted edit · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · xlookup many sorted edit · 1,000 | 1.56 ms / 1.57 ms | 1.30 ms / 1.31 ms | 0.83× | Faster |
| Full · xlookup many sorted · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · xlookup many sorted · 1,000 · allocation stat · retained bytes | 1.3 MiB | 1.3 MiB | 0.98× | Smaller |
| Full · xlookup many sorted · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · xlookup many sorted · 1,000 | 1.70 ms / 1.71 ms | 1.35 ms / 1.36 ms | 0.79× | Faster |
| Full · xlookup many · 1,000 · allocation stat · peak transient bytes | 156.3 KiB | 156.3 KiB | 1.00× | Unchanged |
| Full · xlookup many · 1,000 · allocation stat · retained bytes | 1.1 MiB | 1.0 MiB | 0.97× | Smaller |
| Full · xlookup many · 1,000 · allocation stat · transient allocations | 4 | 4 | 1.00× | Unchanged |
| Full · xlookup many · 1,000 | 1.25 ms / 1.28 ms | 0.91 ms / 0.94 ms | 0.73× | Faster |
Artifact bench/results/full-engine-matched-results.json. Baseline: 0.5.4 engine (WASM) under 0.6 core and harness, ac4ab632d80a · 2026-10-29 04:25 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:26 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Independent first recompute · 10,000 · default stat | 6.08 ms / 7.08 ms | 3.05 ms / 3.62 ms | 0.50× | Faster |
| Independent first recompute · 10,000 · full stat | 5.27 ms / 6.66 ms | 2.78 ms / 3.05 ms | 0.53× (p95 0.46×) | Faster |
| Independent first recompute · 10,000 · ratio stat | 0.875 / 1.114 | 0.908 / 1.051 | 1.04× (p95 0.94×) | Slower |
| Independent first recompute · 1,000 · default stat | 0.61 ms / 0.67 ms | 0.25 ms / 0.30 ms | 0.42× | Faster |
| Independent first recompute · 1,000 · full stat | 0.51 ms / 0.62 ms | 0.23 ms / 0.26 ms | 0.45× | Faster |
| Independent first recompute · 1,000 · ratio stat | 0.874 / 1.041 | 0.892 / 1.089 | 1.02× | Slower |
| Independent parse load · 10,000 · default stat | 6.56 ms / 7.09 ms | 6.35 ms / 7.16 ms | 0.97× | Faster |
| Independent parse load · 10,000 · full stat | 6.28 ms / 7.02 ms | 6.42 ms / 6.82 ms | 1.02× (p95 0.97×) | Slower |
| Independent parse load · 10,000 · ratio stat | 0.981 / 1.129 | 0.999 / 1.081 | 1.02× (p95 0.96×) | Slower |
| Independent parse load · 1,000 · default stat | 0.66 ms / 0.73 ms | 0.61 ms / 0.73 ms | 0.92× (p95 1.00×) | Faster |
| Independent parse load · 1,000 · full stat | 0.64 ms / 0.73 ms | 0.64 ms / 0.73 ms | 0.99× | Faster |
| Independent parse load · 1,000 · ratio stat | 0.972 / 1.134 | 1.019 / 1.178 | 1.05× | Slower |
| Linear chain · 8 · default stat | 0.01 ms | 5 µs | 0.48× | Faster |
| Linear chain · 8 · full stat | 9 µs / 0.01 ms | 5 µs | 0.50× | Faster |
| Linear chain · 8 · ratio stat | 0.940 / 1.083 | 0.947 / 1.008 | 1.01× (p95 0.93×) | Slower |
| Scalar edit affects 0 · 1,000 · default stat | 1 µs | 1 µs | 0.85× (p95 0.79×) | Faster |
| Scalar edit affects 0 · 1,000 · full stat | 1 µs | 1 µs | 0.93× (p95 0.87×) | Faster |
| Scalar edit affects 0 · 1,000 · ratio stat | 0.965 / 1.195 | 1.059 / 1.181 | 1.10× (p95 0.99×) | Slower |
| Vlookup many · 1,000 · default stat | 1.64 ms / 1.77 ms | 1.18 ms / 1.33 ms | 0.72× | Faster |
| Vlookup many · 1,000 · full stat | 1.42 ms / 1.59 ms | 1.03 ms / 1.11 ms | 0.72× | Faster |
| Vlookup many · 1,000 · ratio stat | 0.855 / 1.027 | 0.853 / 1.017 | 1.00× | Faster |
| Wide fan out edit · 1,000 · default stat | 0.40 ms / 0.44 ms | 0.17 ms / 0.19 ms | 0.43× | Faster |
| Wide fan out edit · 1,000 · full stat | 0.37 ms / 0.42 ms | 0.14 ms / 0.16 ms | 0.38× | Faster |
| Wide fan out edit · 1,000 · ratio stat | 0.917 / 1.168 | 0.855 / 0.992 | 0.93× (p95 0.85×) | Faster |
Artifact bench/results/xlsx-results.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-29 03:39 UTC. Candidate: ac4ab632d80a · 2026-10-29 03:40 UTC.
Threshold: none. No documented historical-capture noise threshold. The XLSX 1.25 baseline ratio is an in-capture codec gate, not a historical/new comparison limit. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Baseline · combined · import · duration ms | 10.0 s / 10.6 s | 10.1 s / 10.8 s | 1.01× | Slower |
| Baseline · combined · import · max rss bytes | 3,395.0 MiB / 3,403.9 MiB | 3,402.0 MiB / 3,437.5 MiB | 1.00× | Larger |
| Baseline · combined · import · process wall ms | 10.3 s / 10.8 s | 10.3 s / 11.1 s | 1.01× | Slower |
| Baseline · combined · import · retained allocation delta bytes | 1,552.0 MiB / 1,600.4 MiB | 1,474.2 MiB / 1,608.6 MiB | 0.95× (p95 1.01×) | Smaller |
| Baseline · rich · export · duration ms | 723 ms / 728 ms | 697 ms / 711 ms | 0.97× | Faster |
| Baseline · rich · export · max rss bytes | 171.9 MiB / 173.1 MiB | 171.8 MiB / 173.9 MiB | 1.00× | Smaller |
| Baseline · rich · export · process wall ms | 879 ms / 888 ms | 855 ms / 871 ms | 0.97× | Faster |
| Baseline · rich · export · retained allocation delta bytes | 24.6 MiB / 24.8 MiB | 14.5 MiB / 24.7 MiB | 0.59× (p95 1.00×) | Smaller |
| Baseline · scalar · export · duration ms | 596 ms / 600 ms | 601 ms / 605 ms | 1.01× | Slower |
| Baseline · scalar · export · max rss bytes | 198.1 MiB / 201.0 MiB | 197.2 MiB / 198.7 MiB | 1.00× | Smaller |
| Baseline · scalar · export · process wall ms | 754 ms / 758 ms | 760 ms / 767 ms | 1.01× | Slower |
| Baseline · scalar · export · retained allocation delta bytes | 54.0 MiB / 55.0 MiB | 54.2 MiB / 54.3 MiB | 1.00× | Larger |
| Baseline · shared style · export · duration ms | 1.22 s / 1.25 s | 1.25 s / 1.31 s | 1.02× | Slower |
| Baseline · shared style · export · max rss bytes | 277.6 MiB / 280.9 MiB | 281.2 MiB / 283.1 MiB | 1.01× | Larger |
| Baseline · shared style · export · process wall ms | 1.39 s / 1.42 s | 1.42 s / 1.49 s | 1.02× | Slower |
| Baseline · shared style · export · retained allocation delta bytes | 85.4 MiB / 91.5 MiB | 79.8 MiB / 86.8 MiB | 0.93× | Smaller |
| Baseline · sparse · export · duration ms | 181 ms / 182 ms | 185 ms / 188 ms | 1.02× | Slower |
| Baseline · sparse · export · max rss bytes | 105.4 MiB / 106.1 MiB | 106.9 MiB / 107.6 MiB | 1.01× | Larger |
| Baseline · sparse · export · process wall ms | 327 ms / 329 ms | 330 ms / 338 ms | 1.01× | Slower |
| Baseline · sparse · export · retained allocation delta bytes | 1.4 MiB | 1.4 MiB | 1.00× | Unchanged |
| Current · combined · import · duration ms | 1.37 s / 1.38 s | 1.23 s / 1.25 s | 0.90× | Faster |
| Current · combined · import · max rss bytes | 310.4 MiB / 313.3 MiB | 206.7 MiB / 207.8 MiB | 0.67× | Smaller |
| Current · combined · import · process wall ms | 1.44 s / 1.47 s | 1.31 s / 1.33 s | 0.91× | Faster |
| Current · combined · import · retained allocation delta bytes | 111.0 MiB / 115.9 MiB | 36.2 MiB / 36.9 MiB | 0.33× | Smaller |
| Current · compression ratio · reject · duration ms | 1.36 ms / 1.42 ms | 2.69 ms / 2.99 ms | 1.98× (p95 2.11×) | Slower |
| Current · compression ratio · reject · max rss bytes | 42.7 MiB / 43.9 MiB | 43.9 MiB / 44.4 MiB | 1.03× | Larger |
| Current · compression ratio · reject · process wall ms | 46.1 ms / 46.4 ms | 53.0 ms / 53.7 ms | 1.15× | Slower |
| Current · compression ratio · reject · retained allocation delta bytes | 0 B | 0 B | 1.00× | Unchanged |
| Current · deep xml · reject · duration ms | 5.94 ms / 6.50 ms | 8.78 ms / 9.58 ms | 1.48× | Slower |
| Current · deep xml · reject · max rss bytes | 44.5 MiB / 44.7 MiB | 46.7 MiB / 47.4 MiB | 1.05× | Larger |
| Current · deep xml · reject · process wall ms | 51.2 ms / 51.6 ms | 59.4 ms / 60.1 ms | 1.16× | Slower |
| Current · deep xml · reject · retained allocation delta bytes | 1.3 MiB | 1.3 MiB | 1.00× | Unchanged |
| Current · rich · export · duration ms | 357 ms / 380 ms | 370 ms / 387 ms | 1.04× | Slower |
| Current · rich · export · max rss bytes | 133.1 MiB / 133.7 MiB | 138.9 MiB / 141.0 MiB | 1.04× | Larger |
| Current · rich · export · process wall ms | 451 ms / 477 ms | 470 ms / 489 ms | 1.04× | Slower |
| Current · rich · export · retained allocation delta bytes | 2.2 MiB | 21.7 MiB / 21.9 MiB | 9.79× (p95 9.90×) | Larger |
| Current · scalar · export · duration ms | 455 ms / 463 ms | 442 ms / 458 ms | 0.97× | Faster |
| Current · scalar · export · max rss bytes | 148.4 MiB / 151.0 MiB | 157.4 MiB / 159.2 MiB | 1.06× | Larger |
| Current · scalar · export · process wall ms | 552 ms / 560 ms | 548 ms / 563 ms | 0.99× | Faster |
| Current · scalar · export · retained allocation delta bytes | 10.7 MiB | 26.8 MiB / 27.2 MiB | 2.52× | Larger |
| Current · shared style · export · duration ms | 664 ms / 673 ms | 688 ms / 709 ms | 1.04× | Slower |
| Current · shared style · export · max rss bytes | 147.6 MiB / 155.0 MiB | 164.0 MiB / 165.6 MiB | 1.11× | Larger |
| Current · shared style · export · process wall ms | 770 ms / 779 ms | 802 ms / 823 ms | 1.04× | Slower |
| Current · shared style · export · retained allocation delta bytes | 10.6 MiB | 13.5 MiB / 15.1 MiB | 1.27× (p95 1.42×) | Larger |
| Current · sparse · export · duration ms | 59.9 ms / 61.1 ms | 65.3 ms / 67.8 ms | 1.09× | Slower |
| Current · sparse · export · max rss bytes | 84.3 MiB / 84.6 MiB | 90.5 MiB / 91.5 MiB | 1.07× | Larger |
| Current · sparse · export · process wall ms | 146 ms / 147 ms | 158 ms / 159 ms | 1.08× | Slower |
| Current · sparse · export · retained allocation delta bytes | 343.3 KiB | 1.3 MiB | 3.81× | Larger |
Artifact bench/results/render-baseline-raw.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-29 03:46 UTC. Candidate: ac4ab632d80a · 2026-10-29 04:05 UTC.
Threshold: none. No documented historical-capture noise threshold for this suite; increases/decreases are reported without a regression claim. Source: bench/README.md.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Handsontable · 100,000 rows · altering · insert 5 rows top | 14.5 ms / 15.6 ms | 17.3 ms / 18.3 ms | 1.19× | Slower |
| Handsontable · 100,000 rows · altering · remove 5 rows top | 12.5 ms / 13.8 ms | 15.1 ms / 15.5 ms | 1.20× (p95 1.12×) | Slower |
| Handsontable · 100,000 rows · arrow down · top left | 1.46 ms / 1.54 ms | 1.45 ms / 1.51 ms | 0.99× | Faster |
| Handsontable · 100,000 rows · arrow right · middle | 1.38 ms / 1.39 ms | 1.38 ms / 1.42 ms | 1.00× | Slower |
| Handsontable · 100,000 rows · edit commit · middle | 4.95 ms / 5.22 ms | 7.81 ms / 7.98 ms | 1.58× | Slower |
| Handsontable · 100,000 rows · edit open · bottom right | 1.46 ms / 1.85 ms | 1.44 ms / 1.59 ms | 0.99× (p95 0.86×) | Faster |
| Handsontable · 100,000 rows · edit open · middle | 1.04 ms / 1.08 ms | 1.04 ms / 1.07 ms | 1.01× | Slower |
| Handsontable · 100,000 rows · edit open · top left | 1.09 ms / 1.15 ms | 1.14 ms / 1.30 ms | 1.04× (p95 1.14×) | Slower |
| Handsontable · 100,000 rows · formatted paint · top left | 3.31 ms / 3.53 ms | 6.15 ms / 6.25 ms | 1.86× (p95 1.77×) | Slower |
| Handsontable · 100,000 rows · merge heavy · paint | 3.48 ms / 3.62 ms | 6.34 ms / 6.43 ms | 1.82× | Slower |
| Handsontable · 100,000 rows · scroll down · middle | 4.00 ms / 4.42 ms | 6.84 ms / 8.34 ms | 1.71× (p95 1.89×) | Slower |
| Handsontable · 100,000 rows · scroll down · top left | 15.8 ms / 15.9 ms | 21.4 ms / 21.8 ms | 1.36× | Slower |
| Handsontable · 100,000 rows · scroll right · top left | 10.5 ms / 10.6 ms | 16.4 ms / 17.0 ms | 1.56× | Slower |
| Handsontable · 100,000 rows · scroll smooth · same window | 7.71 ms / 8.10 ms | 10.5 ms / 10.7 ms | 1.36× | Slower |
| Sheetwrite · 100,000 rows · altering · insert 5 rows top | 1.90 ms / 2.01 ms | 1.97 ms / 2.17 ms | 1.03× | Slower |
| Sheetwrite · 100,000 rows · altering · remove 5 rows top | 1.64 ms / 1.73 ms | 1.64 ms / 1.75 ms | 1.00× | Slower |
| Sheetwrite · 100,000 rows · arrow down · top left | 0.69 ms / 0.76 ms | 0.71 ms / 0.75 ms | 1.03× | Slower |
| Sheetwrite · 100,000 rows · arrow right · middle | 0.70 ms / 0.78 ms | 0.69 ms / 0.78 ms | 0.99× | Faster |
| Sheetwrite · 100,000 rows · edit commit · middle | 0.96 ms / 1.06 ms | 1.03 ms / 1.15 ms | 1.07× | Slower |
| Sheetwrite · 100,000 rows · edit open · bottom right | 0.58 ms / 0.59 ms | 0.58 ms / 0.61 ms | 1.00× | Slower |
| Sheetwrite · 100,000 rows · edit open · middle | 0.66 ms / 0.72 ms | 0.64 ms / 0.75 ms | 0.98× | Faster |
| Sheetwrite · 100,000 rows · edit open · top left | 0.60 ms / 0.67 ms | 0.63 ms / 0.68 ms | 1.05× | Slower |
| Sheetwrite · 100,000 rows · formatted paint · top left | 0.48 ms / 0.51 ms | 4 µs | 0.01× | Faster |
| Sheetwrite · 100,000 rows · merge heavy · paint | 3 µs | 3 µs | 0.98× | Faster |
| Sheetwrite · 100,000 rows · scroll down · middle | 1.16 ms / 1.27 ms | 1.16 ms / 1.26 ms | 1.00× | Slower |
| Sheetwrite · 100,000 rows · scroll down · top left | 1.38 ms / 1.48 ms | 1.41 ms / 1.54 ms | 1.02× | Slower |
| Sheetwrite · 100,000 rows · scroll right · top left | 0.26 ms / 0.29 ms | 0.26 ms / 0.28 ms | 0.99× | Faster |
| Sheetwrite · 100,000 rows · scroll smooth · same window | 0.41 ms / 0.44 ms | 0.40 ms / 0.43 ms | 0.96× | Faster |
Artifact bench/results/render-baseline.json. Baseline: 0.5.4, 685c9c920f89 · 2026-10-29 03:40 UTC · scope start. Candidate: ac4ab632d80a · 2026-10-29 03:59 UTC · scope start.
Threshold: bootstrap-median-delta. Independent raw-sample median bootstrap; 99% familywise confidence, 20,000 resamples, maximum regression 0 ms. Historical/candidate harnesses are not asserted identical; descriptive release evidence, not bench:check approval. Source: bench/src/controlled-baseline.ts.
| Measurement | 0.5.4 median / p95 | 0.6.0 median / p95 | Change | Result |
|---|---|---|---|---|
| Handsontable · 100,000 rows · altering · insert 5 rows top | 14.5 ms / 21.2 ms | 17.3 ms / 18.8 ms | 1.19× (p95 0.89×) | Flagged |
| Handsontable · 100,000 rows · altering · remove 5 rows top | 12.5 ms / 15.5 ms | 15.0 ms / 15.8 ms | 1.20× (p95 1.02×) | Flagged |
| Handsontable · 100,000 rows · arrow down · top left | 1.46 ms / 2.11 ms | 1.47 ms / 1.69 ms | 1.01× (p95 0.80×) | Within budget |
| Handsontable · 100,000 rows · arrow right · middle | 1.37 ms / 1.46 ms | 1.38 ms / 1.48 ms | 1.00× | Within budget |
| Handsontable · 100,000 rows · edit commit · middle | 4.95 ms / 5.52 ms | 7.80 ms / 8.18 ms | 1.58× (p95 1.48×) | Flagged |
| Handsontable · 100,000 rows · edit open · bottom right | 1.46 ms / 2.06 ms | 1.44 ms / 1.77 ms | 0.99× (p95 0.86×) | Within budget |
| Handsontable · 100,000 rows · edit open · middle | 1.04 ms / 1.10 ms | 1.04 ms / 1.12 ms | 1.00× | Within budget |
| Handsontable · 100,000 rows · edit open · top left | 1.09 ms / 1.19 ms | 1.14 ms / 1.36 ms | 1.04× (p95 1.15×) | Within budget |
| Handsontable · 100,000 rows · formatted paint · top left | 3.36 ms / 3.72 ms | 6.14 ms / 7.65 ms | 1.83× (p95 2.05×) | Flagged |
| Handsontable · 100,000 rows · merge heavy · paint | 3.48 ms / 3.76 ms | 6.37 ms / 6.54 ms | 1.83× (p95 1.74×) | Flagged |
| Handsontable · 100,000 rows · scroll down · middle | 4.00 ms / 4.98 ms | 6.86 ms / 9.86 ms | 1.71× (p95 1.98×) | Flagged |
| Handsontable · 100,000 rows · scroll down · top left | 15.8 ms / 16.0 ms | 21.3 ms / 21.9 ms | 1.35× | Flagged |
| Handsontable · 100,000 rows · scroll right · top left | 10.6 ms / 10.7 ms | 16.4 ms / 17.8 ms | 1.56× (p95 1.66×) | Flagged |
| Handsontable · 100,000 rows · scroll smooth · same window | 7.72 ms / 8.33 ms | 10.5 ms / 11.3 ms | 1.36× | Flagged |
| Sheetwrite · 100,000 rows · altering · insert 5 rows top | 1.87 ms / 2.19 ms | 1.97 ms / 2.33 ms | 1.05× | Within budget |
| Sheetwrite · 100,000 rows · altering · remove 5 rows top | 1.66 ms / 1.80 ms | 1.64 ms / 1.84 ms | 0.99× | Within budget |
| Sheetwrite · 100,000 rows · arrow down · top left | 0.69 ms / 0.80 ms | 0.71 ms / 0.78 ms | 1.03× (p95 0.98×) | Within budget |
| Sheetwrite · 100,000 rows · arrow right · middle | 0.69 ms / 0.81 ms | 0.69 ms / 0.82 ms | 1.00× | Within budget |
| Sheetwrite · 100,000 rows · edit commit · middle | 0.96 ms / 1.15 ms | 1.05 ms / 1.24 ms | 1.09× | Within budget |
| Sheetwrite · 100,000 rows · edit open · bottom right | 0.56 ms / 0.63 ms | 0.58 ms / 0.64 ms | 1.02× | Within budget |
| Sheetwrite · 100,000 rows · edit open · middle | 0.65 ms / 0.79 ms | 0.65 ms / 0.79 ms | 1.00× | Within budget |
| Sheetwrite · 100,000 rows · edit open · top left | 0.60 ms / 0.94 ms | 0.63 ms / 0.92 ms | 1.05× (p95 0.98×) | Within budget |
| Sheetwrite · 100,000 rows · formatted paint · top left | 0.47 ms / 0.55 ms | 4 µs | 0.01× | Faster beyond noise |
| Sheetwrite · 100,000 rows · merge heavy · paint | 3 µs / 4 µs | 3 µs | 0.98× (p95 0.79×) | Faster beyond noise |
| Sheetwrite · 100,000 rows · scroll down · middle | 1.18 ms / 1.30 ms | 1.15 ms / 1.32 ms | 0.98× | Within budget |
| Sheetwrite · 100,000 rows · scroll down · top left | 1.36 ms / 1.59 ms | 1.41 ms / 1.59 ms | 1.04× | Within budget |
| Sheetwrite · 100,000 rows · scroll right · top left | 0.26 ms / 0.31 ms | 0.26 ms / 0.31 ms | 1.00× | Within budget |
| Sheetwrite · 100,000 rows · scroll smooth · same window | 0.41 ms / 0.46 ms | 0.40 ms / 0.47 ms | 0.97× | Within budget |
Generate from captured artifacts without running benchmarks:
cd benchbun src/release-comparison.ts --base-ref release/version-0.5.4 --baseline-results-dir results/releases/0.5.4 --output results/release-comparison.json