You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extends the throughput-fixture pipeline with a parametric (dtype × scale)
matrix so the dashboard can answer "how does library X handle int vs string
vs formula at 1M cells?" — the most actionable question for users picking
between libraries.
What ships:
- 7 new value_type branches in _run_workload_write (float, date, datetime,
boolean, formula_simple, formula_cross_sheet, mixed_realistic);
string-short/long fold into existing string op via string_length.
- generate_data_shape_scenarios() in the throughput generator: 10 dtypes ×
3 tiers (1k/10k/100k) by default, +1M tier behind --include-1m. New
--shape-only flag for fast-iteration runs.
- excelbench perf-shape subcommand with --rows/--types/--regenerate/
--memory-mode (inherits Sprint 1's memory-mode plumbing).
- _section_data_shape dashboard heatmap (read + write), per-dtype-column
log-scale color so slow columns don't wash out fast ones.
- DEC-019 with mixed_realistic 60/30/5/3/2 ratio rationale and
fixtures/synthetic_calibration/sample_set.md calibration provenance.
Branched off feat/perf-mem-honesty (S1) since #28 hasn't merged; once it
does, this PR will retarget master.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Public-company financials (10-K excerpts) | 18 | Cell types skew heavily to numbers (45-50% int) and short strings (label columns). Formula density typically 1-4%. |
22
+
| Government statistical releases | 12 | Census/labor data. Numbers + headers; very few formulas (most are flat dumps). |
23
+
| Academic supplementary data | 9 | Mostly numeric tables with column headers; sparser than the rest. |
24
+
| Business templates (P&L, budget) | 11 | Highest formula density (5-10% in active templates), more dates. |
25
+
26
+
After folding the four classes (weighted equally rather than by sample size to
27
+
avoid letting one class dominate), the observed per-cell-type distribution was
28
+
roughly:
29
+
30
+
| Cell type | Observed | Used in `mixed_realistic`|
0 commit comments