Python, un lenguaje de programación dinámico, siempre se ha enfrentado a retos a la hora de potenciar la velocidad y la eficiencia. Sin embargo, los últimos avances presentados en la PyCon 2023 de Salt Lake City (Utah) demuestran la evolución futura de Python al prometer implantaciones más rápidas y eficientes. La próxima versión Python 3.12 introducirá una serie de mejoras que supondrán un cambio revolucionario en la optimización del lenguaje.
Mark Shannon, uno de los principales colaboradores de Python en Microsoft, y otros ponentes de PyCon 2023 arrojaron luz sobre las numerosas iniciativas destinadas a reducir el uso de memoria de Python, acelerar el intérprete y optimizar el compilador. Por ejemplo, la cabecera de objetos de Python se ha reducido de 208 a 96 bytes, lo que significa que se pueden guardar más objetos en la memoria y mejorar la localización en caché.
La especialización adaptativa es otra de las novedades clave de Python 3.12. Según Brandt Bucher, desarrollador del núcleo de Python, las nuevas instrucciones adaptativas de bytecodes de Python 3.11 se mejorarán aún más en la última versión. Estas instrucciones pueden sustituir versiones específicas de tipos de Python durante el tiempo de ejecución, lo que agiliza el intérprete y acelera todo el proceso. Las mejoras de Python 3.12 incluyen opcodes de especialización adaptativa adicionales y una especialización de opcodes simplificada.
La concurrencia es un problema de Python desde hace mucho tiempo, y Python 3.12 pretende abordar este reto con la introducción de subintérpretes y un Bloqueo Global del Intérprete (GIL) por intérprete. La charla de Eric Snow, desarrollador principal de Python, exploró esta solución, que promueve un mejor uso de múltiples núcleos con menos concesiones impuestas por los hilos, async o el multiprocesamiento. En lugar de eliminar el GIL, el mecanismo de subinterpretación permite que varios intérpretes se ejecuten juntos dentro de un único proceso, y que cada intérprete tenga su propio GIL. Además, Python 3.12 introducirá un módulo mínimo en su biblioteca estándar llamado intérpretes, que permitirá a los programadores utilizar subintérpretes de forma eficaz.
Estos avances no sólo agilizan el rendimiento de Python, sino que también ayudan a garantizar el futuro interno del lenguaje para los próximos años. Una de las cuestiones abordadas en este sentido es la limpieza y abstracción de las numerosas API en C de CPython expuestas por el desarrollador principal de Python, Victor Stinner. Mantener privadas las API públicas garantiza una menor interacción directa con las internas de CPython y reduce las dependencias de posibles cambios de versión. También ha surgido un proyecto de terceros, HPy, que ofrece una API C más estable, eficiente y abstracta para Python en todas las versiones y beneficia a proyectos como NumPy y ultrajson.
Estas revolucionarias mejoras de Python 3.12 no sólo prometen implantaciones más rápidas, eficientes en memoria y adaptables, sino que también abren las puertas a mejoras antes imposibles. La versión puede influir significativamente en el variado panorama de plataformas de desarrollo y lenguajes de programación, incluida la plataforma AppMaster, que permite crear fácilmente aplicaciones web, móviles y de backend a través de soluciones no-code. Abrazando un futuro en evolución, Python está listo para revolucionar su rendimiento y eficiencia, ofreciendo beneficios sustanciales a los desarrolladores de todo el mundo.