c010rNews
Software

FireDucks acelera workloads de pandas hasta 20 veces con ejecución perezosa

La librería de NEC ofrece una API compatible con pandas pero optimizada por compilador y multi-hilo, logrando mejoras significativas en datasets de 10 millones de filas.

2 min de lecturaKDnuggets0 vistas

NEC ha puesto en primer plano FireDucks, una librería de DataFrames acelerada por compilador que promete ejecutar tareas típicas de pandas hasta 20 veces más rápido. El enfoque no es reescribir el código, sino cambiar el motor de ejecución: mientras pandas procesa cada operación al instante, FireDucks utiliza ejecución perezosa (lazy execution), optimiza el plan de trabajo y lo distribuye en múltiples núcleos de CPU antes de materializar el resultado.

La compatibilidad es la clave del valor práctico. Los desarrolladores pueden mantener la sintaxis habitual de pandas cambiando únicamente el import por import fireducks.pandas as pd. No es un reemplazo transparente al 100%, ya que los objetos internos difieren y pueden surgir incompatibilidades con ciertas funcionalidades específicas o librerías de terceros, pero para flujos de trabajo estandarizados como filtrado, agrupación y ordenación, la transición es mínima. La instalación se gestiona vía pip, y el rendimiento real depende de que el conjunto de operaciones sea susceptible a la optimización del plan de ejecución.

Resultados en benchmarks

Un análisis realizado sobre un dataset reproducible de 10 millones de filas y una tabla de consulta de 2 millones muestra diferencias claras entre FireDucks (v1.4.4) y pandas (v2.3.3) en un entorno Linux con 9 núcleos AMD EPYC. El mayor salto se produjo en la ordenación completa del dataset, donde FireDucks terminó en 0,73 segundos frente a los 15,27 segundos de pandas, una mejora de 20,77 veces. En operaciones de agrupación con baja cardinalidad, la aceleración fue de 15,44 veces, y en el filtrado de columnas, de 11,63 veces.

El benchmark cubrió siete escenarios, incluyendo lectura de Parquet, joins y pipelines encadenados. En la lectura de Parquet, la diferencia fue menor (2,66 veces), lo que sugiere que las limitaciones de I/O siguen pesando más que la lógica de procesamiento en CPU. Sin embargo, en el pipeline encadenado más realista, FireDucks completó la tarea 5,94 veces más rápido. La media geométrica de aceleración en estos siete tests fue de 7,28 veces. Toyota Technical Development Corporation (TTDC) ha validado internamente estas mejoras, reportando una reducción del 60% en el tiempo de análisis de datos.

Para equipos de datos que lidian con volúmenes de millones de filas en entornos CPU-only, FireDucks ofrece una vía alternativa a migrar a frameworks totalmente nuevos o a optimizar manualmente la lógica de pandas. La pregunta operativamente relevante es la gestión de la deuda técnica: al adoptar esta capa de optimización, se asume la necesidad de mantener la compatibilidad con la API de pandas mientras se beneficia de la ejecución multi-hilo optimizada.

Relacionado