Polars 2.0 Ships with SQL-First Focus
Original: Release of Polars 2.0
Why This Matters
Polars challenging DuckDB on SQL benchmarks signals a serious shift in the Python data tooling space.
Polars 2.0 launched Oct 6, 2026, featuring out-of-core spill-to-disk support, first-class SQL, and benchmark wins over DuckDB 1.5.6, DuckDB 2.0 alpha, and DataFusion 54.0 on TPC-H and TPC-DS.
Polars 2.0 arrives with several substantive changes. The streaming engine is now the default path when calling collect() on a LazyFrame, delivering memory and performance gains across most queries — a change significant enough to warrant the major version bump. Out-of-core (spill-to-disk) support is also enabled for the first time, opening the door to workloads that exceed available RAM.
SQL is now treated as a first-class citizen. Coverage has expanded significantly in recent months, backed by optimizer improvements including join reordering, better common-subplan-elimination, and dynamic predicate/bloom filters. To validate the investment, the team ran Polars SQL against DuckDB 1.5.6, DuckDB 2.0 alpha (dev build), and DataFusion 54.0.0 on AWS c7a.4xlarge (16 vCPUs, 32GB) and c7a.metal (192 vCPUs, 384GB) instances. Each query ran five times hot, with the best time taken. Polars came out fastest on all but one benchmark configuration. The team flagged a known scaling overhead at 192 threads that hurts small queries, noting that Polars capped at 32 cores was competitive or winning across the board — a fix is targeted for the next release.
DataFusion timed out on TPC-DS q72 and ran out of memory on TPC-H q18 on the smaller instance; those queries were excluded for all engines. The full benchmark repository is public at github.com/pola-rs/polars-2.0-benchmark. Additional changes include a new Map dtype and stricter dtype handling for faster error feedback and AI iteration loops.