HeadlinesBriefing favicon HeadlinesBriefing.com

Polars 2.0 RC:ストリーミングエンジンデフォルト、5倍高速

Hacker News •
×

Polarsはバージョン2.0の最初のリリース候補版をリリースしました。過去の設計決定を削除し、デフォルトを更新することに焦点を当てており、主要な機能の追加ではありません。最も重要な変更は、collect()を通じてすべてのLazy Frameクエリに対してストリーミングエンジンをデフォルトに設定したことです。チームはこれが約5倍高速になり、カジュアルユーザーにとってメモリ使用量が大幅に改善されると期待しています。この変更によりメジャーバージョン番号の上げが必要となりました。なぜなら、ストリーミングエンジンはデフォルトではjoin、group_by、unpivotなどの操作での行順序を保証しないからです。行順序の保証が必要なユーザーは、maintain_order=Trueを設定してオプトインするか、pl.Config.set_engine_affinity("in-memory")でインメモリエンジンに戻すか、クエリごとにengine="in-memory"を指定できます。

Polars 2.0はまた、エラーを早期に検出してすぐに失敗するように振る舞いを厳格化しています。これはAI駆動開発においてますます価値が高まっており、エージェントはcollect_schema()を使ってクエリ構造を早期に検証します。たとえば、is_inの無損失型強制変換:以前は、Int64の値がFloat64のリストと比較されるときに黙って型強制変換されていましたが、これにより2^53を超える精度の限界で偽陽性が発生するリスクがありました。現在は、これは明示的なキャストを必要とするInvalid Operation Errorを発生させます。水平方向の連結も同様に厳格になります。

主要なエンティティ: 企業: Polars