|
1 | 1 | { |
2 | | - "recorded_at": "2026-08-28", |
| 2 | + "recorded_at": "2026-09-03", |
3 | 3 | "recorded_on": "Apple M1 Max (10 core), macOS 14.4, rustc 1.94.1, release profile; best of 5 full bench runs", |
4 | | - "note": "ref_units = min(benchmark time) / min(reference time), each the best of 5 full bench runs, not necessarily the same run - best-of-5 minima can (and do) come from different runs. This is a deliberate choice, not an oversight: best-of-5 biases the floor in the safe direction, and the resulting bias in ref_units is small and one-directional (recorded baselines read slightly inflated, so future runs read slightly more negative). The gate compares ratios, not nanoseconds, so a baseline recorded on one machine still means something on another. best_ns_recorded and reference_best_ns_recorded are informational only - nothing is checked against them. The bands are two-sided on purpose: see .github/scripts/check_perf_regression.py. The five multi_sheet entries were recorded 2026-08-29 on the same machine, best of 3 runs. The four incremental_recalc(_cold)/independent_edit_root entries were re-recorded the same day, also best of 3, because this change moves them: Sheet1 was being folded ~16 times per formula cell even in a single-sheet workbook before this change (16.50 folds per extra formula cell, vs 0 after), so the single-sheet incremental family got legitimately faster (paired runs on one machine: base 216,815/212,730/215,348 ns vs head 196,590/196,909/195,420 ns on independent_edit_root/100, about -8%; independent_edit_root/1000 and the _cold variants moved similarly). The previously recorded independent_edit_root/100 baseline (best_ns_recorded 321,871) was already stale relative to both the base and head commits on this machine (both read ~200,000-300,000 ns) - this change added the last several points on top of that pre-existing drift, it did not cause the whole gap. Every other entry is unchanged from the 2026-08-28 recording and remains within run-to-run noise of the base commit. The six chain entries (full_recalc/chain and incremental_recalc/chain_edit_root|chain_edit_leaf, each at 1000 and 5000) were added 2026-08-29 and recorded on the machine named above, best of 5 full bench runs - the count this file's recorded_on documents, not the best-of-3 the two exceptions above used. All five runs measured one unmodified binary, and their reference minimum was 3,196,028 ns - not the reference_best_ns_recorded field above, which belongs to the 2026-08-28 set - so verify these six as best_ns_recorded / 3196028, the same way the 2026-08-29 entries above divide by their own run set's minimum. They are new benchmarks, so no existing entry moved when they were added; every other number here is unchanged from its earlier recording. The incremental_recalc/all_literal_edit/120000cells entry (issue #984) was added 2026-09-03 on the machine named above, best of 5 full bench runs of the two benchmarks alone (not the whole suite) - its reference minimum was 3,335,120 ns, again not the reference_best_ns_recorded field above; verify it as best_ns_recorded / 3335120. It is a new benchmark, so no existing entry moved when it was added.", |
| 4 | + "note": "Single-run re-record after rebasing #983 (volatile-cell cache) onto main post-#984 (spill-anchor cache) merge \u2014 every entry comes from ONE cargo bench run of the fully-combined code (rustc 1.98.0 (88d9e12ae 2026-08-18), release profile), not a hand-merge of two separate recordings. Includes both PRs new groups: incremental_recalc/row_totals_volatile_seed/{100,10000,100000} (#983) and incremental_recalc/all_literal_edit/120000cells (#984). best_ns_recorded and reference_best_ns_recorded are informational only - nothing is checked against them. The bands are two-sided on purpose: see .github/scripts/check_perf_regression.py.", |
5 | 5 | "reference": "calibration/hash_alloc", |
6 | | - "reference_best_ns_recorded": 3270207, |
| 6 | + "reference_best_ns_recorded": 3164388, |
7 | 7 | "regression_pct": 150, |
8 | 8 | "improvement_pct": 40, |
9 | 9 | "benchmarks": { |
10 | 10 | "full_recalc/independent/100": { |
11 | | - "ref_units": 0.1436, |
12 | | - "best_ns_recorded": 469632 |
| 11 | + "ref_units": 0.1391, |
| 12 | + "best_ns_recorded": 440310 |
13 | 13 | }, |
14 | 14 | "full_recalc/independent/1000": { |
15 | | - "ref_units": 1.3395, |
16 | | - "best_ns_recorded": 4380494 |
| 15 | + "ref_units": 1.2879, |
| 16 | + "best_ns_recorded": 4075270 |
17 | 17 | }, |
18 | 18 | "full_recalc/independent/5000": { |
19 | | - "ref_units": 6.9069, |
20 | | - "best_ns_recorded": 22587145 |
| 19 | + "ref_units": 7.0781, |
| 20 | + "best_ns_recorded": 22397889 |
21 | 21 | }, |
22 | 22 | "full_recalc/chain/1000": { |
23 | | - "ref_units": 1.196, |
24 | | - "best_ns_recorded": 3822395 |
| 23 | + "ref_units": 1.2234, |
| 24 | + "best_ns_recorded": 3871375 |
25 | 25 | }, |
26 | 26 | "full_recalc/chain/5000": { |
27 | | - "ref_units": 6.5853, |
28 | | - "best_ns_recorded": 21046666 |
| 27 | + "ref_units": 6.7395, |
| 28 | + "best_ns_recorded": 21326255 |
29 | 29 | }, |
30 | 30 | "full_recalc/row_totals/500": { |
31 | | - "ref_units": 1.3837, |
32 | | - "best_ns_recorded": 4524877 |
| 31 | + "ref_units": 1.4669, |
| 32 | + "best_ns_recorded": 4641820 |
33 | 33 | }, |
34 | 34 | "full_recalc/row_totals/2000": { |
35 | | - "ref_units": 6.0191, |
36 | | - "best_ns_recorded": 19683565 |
| 35 | + "ref_units": 6.3515, |
| 36 | + "best_ns_recorded": 20098562 |
37 | 37 | }, |
38 | 38 | "full_recalc/block_subtotals/2000": { |
39 | | - "ref_units": 1.2934, |
40 | | - "best_ns_recorded": 4229585 |
| 39 | + "ref_units": 1.3706, |
| 40 | + "best_ns_recorded": 4337191 |
41 | 41 | }, |
42 | 42 | "full_recalc/block_subtotals/10000": { |
43 | | - "ref_units": 8.0703, |
44 | | - "best_ns_recorded": 26391430 |
| 43 | + "ref_units": 8.2032, |
| 44 | + "best_ns_recorded": 25957993 |
45 | 45 | }, |
46 | 46 | "full_recalc/multi_sheet/200x50": { |
47 | | - "ref_units": 13.8314, |
48 | | - "best_ns_recorded": 45612155 |
| 47 | + "ref_units": 13.9405, |
| 48 | + "best_ns_recorded": 44113229 |
49 | 49 | }, |
50 | 50 | "full_recalc/multi_sheet_long_names/200x50": { |
51 | | - "ref_units": 13.2369, |
52 | | - "best_ns_recorded": 43651501 |
| 51 | + "ref_units": 13.3224, |
| 52 | + "best_ns_recorded": 42157171 |
53 | 53 | }, |
54 | 54 | "full_recalc/multi_sheet_cross_refs/200x50": { |
55 | | - "ref_units": 13.4762, |
56 | | - "best_ns_recorded": 44440765 |
| 55 | + "ref_units": 15.199, |
| 56 | + "best_ns_recorded": 48095548 |
57 | 57 | }, |
58 | 58 | "full_recalc/tall_sparse/20000": { |
59 | | - "ref_units": 39.9981, |
60 | | - "best_ns_recorded": 130802021 |
| 59 | + "ref_units": 40.8564, |
| 60 | + "best_ns_recorded": 129285553 |
61 | 61 | }, |
62 | 62 | "depgraph_build/tall_sparse/20000": { |
63 | | - "ref_units": 9.9993, |
64 | | - "best_ns_recorded": 32699704 |
| 63 | + "ref_units": 9.9017, |
| 64 | + "best_ns_recorded": 31332860 |
65 | 65 | }, |
66 | 66 | "depgraph_build/row_totals/2000": { |
67 | | - "ref_units": 0.9512, |
68 | | - "best_ns_recorded": 3110508 |
| 67 | + "ref_units": 0.9418, |
| 68 | + "best_ns_recorded": 2980216 |
69 | 69 | }, |
70 | 70 | "depgraph_build/multi_sheet_cross_refs/200x50": { |
71 | | - "ref_units": 3.2537, |
72 | | - "best_ns_recorded": 10729783 |
| 71 | + "ref_units": 3.1996, |
| 72 | + "best_ns_recorded": 10124723 |
73 | 73 | }, |
74 | 74 | "incremental_recalc/independent_edit_root/100": { |
75 | | - "ref_units": 0.0605, |
76 | | - "best_ns_recorded": 192758 |
| 75 | + "ref_units": 0.0566, |
| 76 | + "best_ns_recorded": 179180 |
77 | 77 | }, |
78 | 78 | "incremental_recalc/independent_edit_root/1000": { |
79 | | - "ref_units": 0.3549, |
80 | | - "best_ns_recorded": 1130495 |
| 79 | + "ref_units": 0.2876, |
| 80 | + "best_ns_recorded": 910143 |
| 81 | + }, |
| 82 | + "incremental_recalc_cold/independent_edit_root/100": { |
| 83 | + "ref_units": 0.0919, |
| 84 | + "best_ns_recorded": 290789 |
| 85 | + }, |
| 86 | + "incremental_recalc_cold/independent_edit_root/1000": { |
| 87 | + "ref_units": 0.736, |
| 88 | + "best_ns_recorded": 2329101 |
| 89 | + }, |
| 90 | + "incremental_recalc/multi_sheet_edit_root/200x50": { |
| 91 | + "ref_units": 2.5644, |
| 92 | + "best_ns_recorded": 8114804 |
81 | 93 | }, |
82 | 94 | "incremental_recalc/block_subtotals_edit_root/10000": { |
83 | | - "ref_units": 1.2095, |
84 | | - "best_ns_recorded": 3823493 |
| 95 | + "ref_units": 0.7581, |
| 96 | + "best_ns_recorded": 2398977 |
85 | 97 | }, |
86 | 98 | "incremental_recalc/chain_edit_root/1000": { |
87 | | - "ref_units": 1.1638, |
88 | | - "best_ns_recorded": 3719666 |
| 99 | + "ref_units": 1.0771, |
| 100 | + "best_ns_recorded": 3408477 |
89 | 101 | }, |
90 | 102 | "incremental_recalc/chain_edit_root/5000": { |
91 | | - "ref_units": 6.3891, |
92 | | - "best_ns_recorded": 20419766 |
| 103 | + "ref_units": 5.9662, |
| 104 | + "best_ns_recorded": 18879251 |
93 | 105 | }, |
94 | 106 | "incremental_recalc/chain_edit_leaf/1000": { |
95 | | - "ref_units": 0.3183, |
96 | | - "best_ns_recorded": 1017376 |
| 107 | + "ref_units": 0.2646, |
| 108 | + "best_ns_recorded": 837166 |
97 | 109 | }, |
98 | 110 | "incremental_recalc/chain_edit_leaf/5000": { |
99 | | - "ref_units": 1.6274, |
100 | | - "best_ns_recorded": 5201330 |
| 111 | + "ref_units": 1.3121, |
| 112 | + "best_ns_recorded": 4152095 |
101 | 113 | }, |
102 | | - "incremental_recalc/multi_sheet_edit_root/200x50": { |
103 | | - "ref_units": 3.2604, |
104 | | - "best_ns_recorded": 10751809 |
| 114 | + "incremental_recalc/all_literal_edit/120000cells": { |
| 115 | + "ref_units": 3.8168, |
| 116 | + "best_ns_recorded": 12077798 |
105 | 117 | }, |
106 | | - "from_json/500rows": { |
107 | | - "ref_units": 0.2833, |
108 | | - "best_ns_recorded": 926457 |
| 118 | + "incremental_recalc/row_totals_volatile_seed/100": { |
| 119 | + "ref_units": 0.0793, |
| 120 | + "best_ns_recorded": 250884 |
109 | 121 | }, |
110 | | - "to_json/500rows": { |
111 | | - "ref_units": 0.2216, |
112 | | - "best_ns_recorded": 724738 |
| 122 | + "incremental_recalc/row_totals_volatile_seed/10000": { |
| 123 | + "ref_units": 7.5273, |
| 124 | + "best_ns_recorded": 23819279 |
113 | 125 | }, |
114 | | - "incremental_recalc_cold/independent_edit_root/100": { |
115 | | - "ref_units": 0.0933, |
116 | | - "best_ns_recorded": 297138 |
| 126 | + "incremental_recalc/row_totals_volatile_seed/100000": { |
| 127 | + "ref_units": 96.2568, |
| 128 | + "best_ns_recorded": 304593843 |
117 | 129 | }, |
118 | | - "incremental_recalc_cold/independent_edit_root/1000": { |
119 | | - "ref_units": 0.7459, |
120 | | - "best_ns_recorded": 2375688 |
| 130 | + "from_json/500rows": { |
| 131 | + "ref_units": 0.2837, |
| 132 | + "best_ns_recorded": 897782 |
121 | 133 | }, |
122 | | - "incremental_recalc/all_literal_edit/120000cells": { |
123 | | - "ref_units": 3.7609, |
124 | | - "best_ns_recorded": 12543118 |
| 134 | + "to_json/500rows": { |
| 135 | + "ref_units": 0.2194, |
| 136 | + "best_ns_recorded": 694132 |
125 | 137 | } |
126 | 138 | } |
127 | 139 | } |
0 commit comments