TECNOLOGÍA

Nuevo herramienta de perfilado de Python aprovecha la IA para optimizar el código y aumentar la velocidad

Compártelo

Un equipo de científicos de la computación de la Universidad de Massachusetts Amherst, liderado por Emery Berger, ha presentado recientemente Scalene, un perfilador de Python galardonado. Los programas escritos en Python son notoriamente lentos, hasta 60,000 veces más lentos que el código escrito en otros lenguajes de programación. Scalene trabaja eficientemente para identificar exactamente dónde Python está teniendo retrasos, permitiendo a los programadores solucionar problemas y optimizar su código para un rendimiento más alto.

Aunque existen varios lenguajes de programación como C++, Fortran y Java, en los últimos años uno ha llegado a ser casi omnipresente: Python.

“Python es un lenguaje ‘todo incluido'”, dice Berger, profesor de ciencias de la computación en la Manning College of Information and Computer Sciences de UMass Amherst, “y se ha vuelto muy popular en la era de la ciencia de datos y el aprendizaje automático porque es tan fácil de usar”. El lenguaje viene con bibliotecas de herramientas fáciles de usar y tiene una sintaxis intuitiva y legible, lo que permite a los usuarios comenzar a escribir código en Python rápidamente.

“Las computadoras ya no están volviéndose más rápidas. Las mejoras futuras en velocidad vendrán menos de hardware mejor y más de programación más rápida y eficiente”.

— Emery Berger, profesor de ciencias de la computación en la Manning College of Information and Computer Sciences de UMass Amherst

Desafíos de Eficiencia en Python “Pero Python es increíblemente ineficiente”, dice Berger. “Ejecuta fácilmente entre 100 y 1,000 veces más lento que otros lenguajes, y algunas tareas podrían llevar 60,000 veces más tiempo en Python”.

Emery Berger Profesor de Ciencias de la Computación de UMass Amherst Emery Berger. Crédito: UMass Amherst

Los programadores han sabido esto durante mucho tiempo y, para combatir la ineficiencia de Python, pueden utilizar herramientas llamadas “perfiladores”. Los perfiladores ejecutan programas y luego identifican por qué y qué partes son lentas.

Desafortunadamente, los perfiladores existentes hacen sorprendentemente poco para ayudar a los programadores de Python. En el mejor de los casos, indican que una región de código es lenta y dejan al programador descubrir qué se puede hacer, si es que se puede hacer algo.

El equipo de Berger, que incluía a los estudiantes graduados de ciencias de la computación de UMass, Sam Stern y Juan Altmayer Pizzorno, construyó Scalene para que fuera el primer perfilador que no solo identifica con precisión las ineficiencias en el código de Python, sino que también utiliza IA para sugerir cómo se puede mejorar el código. “Scalene primero identifica dónde su programa está perdiendo tiempo”, dice Berger. Se enfoca en tres áreas clave: la CPU, la GPU y el uso de memoria, que son responsables de la mayoría de la velocidad lenta de Python.

Una vez que Scalene ha identificado dónde Python está teniendo problemas para mantenerse al día, luego utiliza la IA, aprovechando la misma tecnología que respalda a ChatGPT, para sugerir formas de optimizar líneas individuales, o incluso grupos de código.

“Esto es un panel de control accionable”, dice Berger. “No es solo un velocímetro que te dice cuán rápido o lento va tu auto, te dice si podrías ir más rápido, por qué tu velocidad se ve afectada y qué puedes hacer para alcanzar la velocidad máxima”.

El Futuro de la Programación y el Impacto de Scalene “Las computadoras ya no están volviéndose más rápidas”, dice Berger. “Las mejoras futuras en velocidad vendrán menos de hardware mejor y más de programación más rápida y eficiente”.

Scalene ya está en uso generalizado y ha sido descargado más de 750,000 veces desde su presentación pública en GitHub. La investigación que condujo al desarrollo de Scalene fue respaldada por la National Science Foundation. Un artículo que describe este trabajo apareció en la Conferencia USENIX sobre Diseño e Implementación de Sistemas Operativos de este año, donde ganó un premio al mejor resultado.


Compártelo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *