Measurement log
Every number is tied to versions. When pandas or polars ships a major release, everything is re-run and the difference is recorded here.
| Date | pandas | polars | Cases | What |
|---|---|---|---|---|
| 2026-11-12 | 3.0.1 | 2.1.0 | 18 | initial run — three processes, 16 cases stable |
| 2026-11-12 | 3.0.1 | 2.1.0 | 18 | sampling rule changed: when the faster side finishes under 20 ms the operation repeats inside the sample (same count both sides, capped at 60×) and the number is divided back to one pass. Re-ran all cases; two groupby cases that were previously unstable now pass, pivot fell out (ratio CV 11.7%). |
| 2026-11-12 | 3.0.1 | 2.1.0 | 18 | generator fix: finding pages are rebuilt from scratch on every run, so a case that drops out of the published set no longer leaves a stale page behind. |
When we re-measure
- A major pandas or polars release.
- A change to
bench/run.pythat alters what a sample contains. - A reader reports a difference above 5% on the same environment.