Polars 2.0‑rc acelera consultas 5× pero rompe el orden de filas por defecto
El candidato a lanzamiento de Polars 2.0 introduce el motor de streaming como comportamiento predeterminado, ofreciendo mejoras de memoria y velocidad, aunque altera el orden de filas en operaciones como join o group_by.

Polars ha publicado la primera versión candidata (2.0‑rc) de su próxima gran versión. La novedad principal es que la llamada a collect sobre cualquier LazyFrame usa ahora por defecto el motor de streaming, lo que permite ejecutar consultas en lotes y procesar conjuntos de datos que no caben en la memoria disponible. Según la guía de la versión, el motor de streaming puede ser hasta 5 veces más rápido en la mayoría de los casos y reduce considerablemente el consumo de RAM.
El beneficio viene acompañado de una advertencia: el motor de streaming no garantiza el orden de filas para operaciones como join, group_by y unpivot. Polars lo indica explícitamente en un recuadro rojo de su guía de migración, señalando que el cambio “puede impactar silenciosamente los resultados de tus pipelines”. Si tu código depende de que las filas lleguen en un orden específico, deberás tomar medidas.
Mitigar el riesgo de orden
Para conservar el orden, Polars propone dos caminos: ordenar explícitamente los resultados con sort o habilitar el parámetro maintain_order=True donde sea aplicable. Otra opción es volver al motor en‑memoria tradicional estableciendo la afinidad del motor a memory. Estas alternativas pueden reducir algo del impulso de velocidad, pero evitan sorpresas en etapas posteriores del flujo de datos.
Otros cambios de la 2.0
Además del motor de streaming, la versión 2.0 incluye una API más estricta y coherente. Se eliminan conversiones ambiguas y se obliga a usar métodos como .str.to_date() o .str.to_datetime() para parsear fechas, lo que simplifica la lógica de transformación. La guía de actualización enumera también mejoras en los IO‑plugins, un lector S3 más rápido, planificador basado en costos, reordenamiento de joins y una cobertura SQL ampliada.
Polars ha optado por lanzar esta versión preliminar antes del 2.0 final porque, según la compañía, no “bloquea” nuevas funcionalidades y prefiere entregarlas tan pronto como están listas. La estrategia permite a la comunidad probar el motor de streaming y adaptar sus pipelines antes del lanzamiento oficial.
En resumen, la 2.0‑rc de Polars promete una mejora sustancial en rendimiento y uso de memoria, pero exige revisar cualquier dependencia implícita del orden de filas. Los equipos que ya usan Polars deberían evaluar la migración pronto, probar sus consultas bajo el nuevo motor y decidir si mantienen el orden de forma explícita o aceptan el posible reordenamiento a cambio de velocidad.
Documentación del motor de streaming | Guía de la versión 2.0‑rc


