Scalene: la herramienta que puede acelerar el desarrollo en Python

Recientemente se ha podido conocer que un equipo de científicos informáticos de la Universidad de Massachusetts Amherst, dirigido por Emery Berger, presentó un perfilador de Python galardonado denominado “Scalene”. Los programas escritos con Python son notoriamente lentos (hasta 60.000 veces más lentos que el código escrito en otros lenguajes de programación) y el novedoso Scalene trabaja para identificar de manera eficiente exactamente dónde se está retrasando Python, lo que consigue permitir a los programadores solucionar problemas y optimizar su código para lograr un mayor rendimiento. ¡No deje de conocer todos los detalles sobre este perfilador de python!

Perfilador de Python “Scalene”

Para nadie es un secreto que existen muchos lenguajes de programación diferentes como por ejemplo; C++, Fortran y Java, los cuales son algunos de los más conocidos, pero, en los últimos años, un lenguaje se ha vuelto casi omnipresente y, evidentemente, es “Python”.

via GIPHY

Emery Berger ha manifestado que python se ha vuelto muy popular en la era de la ciencia de datos y las máquinas porque el mismo es muy fácil de usar, sin embargo, ha mencionado además que Python es tremendamente ineficiente y que se ejecuta fácilmente entre 100 y 1000 veces más lento que otros lenguajes, esto da como resultado que (entre otras cosas), algunas tareas pueden tardar 60.000 veces más en Python.

Pero, si hay algo que se debe tener claro es que los programadores lo saben desde hace mucho tiempo y por lo tanto, para ayudar a combatir la ineficiencia de Python, pueden usar herramientas llamadas “perfiladores”. Los perfiladores ejecutan programas y luego identifican por qué y qué partes son lentas.

Desgraciadamente, los perfiladores existentes hacen muy 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 en manos del programador descubrir qué se puede hacer (esto si es que realmente se puede hacer algo).

Por lo que el equipo de Berger, que incluía a los estudiantes graduados en ciencias de la computación de la UMass, Sam Stern y así mismo, Juan Altmayer Pizzorno, creó el denominado “Scalene” para que sea el primer generador de perfiles que no solo identifica con precisión las ineficiencias en el código Python, sino que también usa Inteligencia Artificial (IA) para sugerir cómo se puede mejorar el código.

Según mencionó Berger, “Scalene primero descubre en qué está perdiendo el tiempo su programa”.

Según se conoció, se centra en tres áreas clave las cuales son: la CPU, GPU y el uso de memoria que son responsables de la mayor parte de la lentitud de la velocidad de Python.

Cuando Scalene ha identificado dónde Python tiene problemas para mantenerse al día, utiliza Inteligencia Artificial, aprovechando la misma tecnología que sustenta ChatGPT (de OpenAI), para sugerir formas de optimizar líneas individuales, o incluso agrupaciones de código.

No hay que dejar pasar por alto que Scalene ya se utiliza ampliamente y se ha descargado más de 750.000 veces desde su presentación pública en “GitHub”.