Polars 2.0 RCが示した「派手さより、まず壊れにくさ」
Polarsが2.0のリリース候補版を出しました。データ分析ライブラリのメジャーバージョン更新というと、新機能の盛り込みを想像しがちですが、今回の主眼はむしろ逆で、既定値の見直しとAPIの整理です。特にLazyFrameの処理が標準で streaming engine に乗るようになる点は、使い方によってはかなり効きます。表向きは“boring”な更新でも、実際には日々のメモリ使用量や速度、そして失敗の見つけやすさを変える話です。 Polars 2.0の一番大きな変更は、LazyFrame で collect() したときの既定エンジンが streaming engine になることです。これまでのように全部をメモリに載せる前提ではなく、流しながら処理するので、多くのクエリでメモリ使用量と性能が大きく改善する、と説明されています。投稿では、集計すると全体として streaming engine は簡単に 5倍速くなると見込んでいます。 ただし、ここには代償もあります。join、group_by、unpivot などの操作では、結果の行順が以前のように保証されません。行の順番まで観測した
papoo.work