Polars 2.0

447 points · 99 comments on HN · read original →

Points and comments are a snapshot, not live.

Polars 2.0 matches or beats DuckDB on TPC-H/DS benchmarks and ships out-of-core SQL.

Polars 2.0 defaults to a streaming, out-of-core engine that spills to disk at ~80% RAM, trading row-order guarantees for lower memory usage. SQL is now a first-class citizen; benchmarks on c7a.4xlarge (16 vCPUs, 32 GB) show Polars faster than DuckDB 1.5.6, DuckDB 2.0 alpha, and DataFusion on TPC-H and TPC-DS (SF10 and SF100). A new Map dtype supports dictionary-like expressions. Strictness defaults fail fast on schema mismatches. Polars scales better than DuckDB at high core counts on larger data (SF100).

What commenters are saying

Commenters note the competitive timing of Polars 2.0 alongside DuckDB's upcoming 2.0.0 release; the Polars team responds that the 2.0 branch started in June. Many agree Polars is now a full Pandas replacement for most cases, citing speed, cleaner API, and better scalability. Several mention using DuckDB instead for SQL-heavy or geospatial workloads, or prefer SQL over Polars' Python API. A minor complaint: nanosecond timestamps round-trip with explicit `pl.Datetime("ns")` but default to microseconds.