HeadlinesBriefing favicon HeadlinesBriefing.com

Polars 2.0 RC : Moteur de streaming par défaut, 5x plus rapide

Hacker News •
×

Polars a publié le premier candidat à la sortie pour la version 2.0, axé sur la suppression des décisions de conception passées et la mise à jour des valeurs par défaut plutôt que sur l'ajout de fonctionnalités majeures. Le changement le plus significatif fait du moteur de streaming le défaut pour toutes les requêtes Lazy Frame via collect(), ce que l'équipe estime être environ 5 fois plus rapide avec des améliorations massives de mémoire pour les utilisateurs occasionnels. Cela a nécessité une augmentation de version majeure car le moteur de streaming ne garantit pas l'ordre des lignes par défaut pour des opérations comme join, group_by et unpivot. Les utilisateurs ayant besoin d'un ordre de lignes observable peuvent l'activer avec maintain_order=True, ou revenir au moteur en mémoire via pl.Config.set_engine_affinity("in-memory") ou par requête avec engine="in-memory".

Polars 2.0 impose également un comportement plus strict pour échouer rapidement et détecter les erreurs en amont, de plus en plus précieux pour le développement piloté par l'IA où les agents valident la structure de la requête tôt via collect_schema(). Par exemple, la coercition de type sans perte de is_in : auparavant, les valeurs Int64 comparées à des listes Float64 étaient coercées silencieusement, risquant des faux positifs au-dessus de la limite de précision de 2^53. Maintenant, cela lève une Erreur d'Opération Invalide nécessitant un cast explicite. La concaténation horizontale devient également plus stricte.

Entités clés : Entreprises : Polars