Only numbers that survived three independent runs
pandas 3.0.1 against polars — every case ran three times as its own process; anything whose ratio moved more than 10% is not published.
17 findings published · 18 cases measured · 3 independent runs each · ratio CV must stay under 10%
What we publish
write-csv — writing a CSVpandas is 57.37× slower than polars · ratio CV 1.3%str-contains — substring search over a text columnpandas is 22.22× slower than polars · ratio CV 5.2%concat — stacking a frame onto itselfpandas is 16.94× slower than polars · ratio CV 4.8%str-split — splitting a string columnpandas is 15.70× slower than polars · ratio CV 4.1%sort-single — sorting 400,000 floatspandas is 13.43× slower than polars · ratio CV 1.4%sort-multi — sorting by two keyspandas is 13.33× slower than polars · ratio CV 4.5%join-right — joining a 10,000-row lookuppandas is 11.93× slower than polars · ratio CV 9.7%join-small — joining a 1,000-row lookuppandas is 11.24× slower than polars · ratio CV 1.6%read-csv — reading a CSVpandas is 9.82× slower than polars · ratio CV 2.0%filter — filtering rows by a float thresholdpandas is 8.13× slower than polars · ratio CV 8.7%filter-sort — filtering then sortingpandas is 6.54× slower than polars · ratio CV 2.5%groupby-multi — three aggregates per grouppandas is 5.32× slower than polars · ratio CV 9.5%groupby-sum — summing a column per grouppandas is 3.45× slower than polars · ratio CV 5.3%rolling-mean — a 50-row rolling meanpandas is 2.74× slower than polars · ratio CV 2.3%dt-month — extracting the month from a datepandas is 2.34× slower than polars · ratio CV 2.2%to-list — turning rows into Python objectspandas is 1.92× slower than polars · ratio CV 3.0%dedupe — removing duplicate key pairspandas is 1.77× slower than polars · ratio CV 3.8%
What this answers — and what it does not
- Answers: for the same input and the same operation, which library takes fewer milliseconds on this machine.
- Does not answer: cluster behaviour, memory ceilings, disk speed, or how the ratio moves at other row counts.
- Every number is a median of seven interleaved samples, repeated in three separate processes.
The raw numbers, including the two cases that failed the publishing rule, ship as CSV.