#31 · Keep benchmark sizes intact in the Benchmarks workflow
- timeline-app
- pull request
Fixes the failure in Benchmarks run #1. **Cause:** the `sizes` input had an unquoted default, `1000,10000,50000`. It reached the job as `BENCH_SIZES=10001000050000` with the commas stripped. Seeding then tried to allocate a 20-billion-entry cluster array and crashed with `RangeError: Invalid array length`. **Fix** - Quote the default so it stays a string. - Accept commas or spaces between sizes in both the Node harness and the criterion bench. - Reject sizes outside 1–200,000 moments (the document limit) with a clear error, and fall back to the defaults when the value is empty. **Verified:** a Benchmarks run on this branch passed in 11.5 minutes (run 37873190903). It produced all 63 measurements at 1k/10k/50k across the three backends and uploaded the `benchmark-report` artifact. Saving one moment at 50k took 5.6 s on PostgreSQL and 0.62 s on SQLite.
Sources
Open #31 · Keep benchmark sizes intact in the Benchmarks workflow in the timeline