Guido van Rossum pretende duplicar el rendimiento en CPython 3.11

Guido van Rossum, creador del lenguaje de programación Python, habló sobre los planes para optimizar el rendimiento de CPython en su informe en la Cumbre del Lenguaje Python. Para la versión 3.11, prevista para 2022, los desarrolladores esperan duplicar el rendimiento. El proyecto de optimización de CPython lo está llevando a cabo un pequeño equipo de desarrolladores de Microsoft, al que se unió recientemente Guido.

Al implementar el proyecto, los desarrolladores pretenden cumplir con una serie de restricciones, como mantener la compatibilidad total a nivel de ABI y de código, así como la inadmisibilidad de aumentar el rendimiento debido a la desaceleración en los casos extremos. Entre los componentes que se pueden cambiar para mejorar el rendimiento se encuentran el código de bytes, la ubicación de datos en la memoria, el compilador y el intérprete.

Los desarrollos del proyecto se publican en un repositorio separado de Cpython más rápido. Uno de los participantes del proyecto, que anteriormente desarrolló el compilador HotPy JIT para CPython, publicó un plan según el cual considera realista aumentar la productividad cinco veces y lograr este resultado en el lanzamiento de Python 3.13. El proyecto se divide en cuatro etapas:

  • Python 3.10 planea implementar optimizaciones en el intérprete relacionadas con la adaptación del proceso de interpretación a tipos y valores en tiempo de ejecución.
  • Se espera que el lanzamiento de Python 3.11 introduzca mejoras en el tiempo de ejecución y los objetos clave, así como la inclusión de muchas pequeñas optimizaciones especializadas, como acelerar los operadores binarios y trabajar con valores enteros que caben en una palabra de máquina, acelerando llamar y regresar de funciones, lo que reduce la sobrecarga durante la operación con memoria y manejo de excepciones.
  • Python 3.12 introducirá un compilador JIT simple para una pequeña porción de código especializado.
  • Python 3.13 agregará nuevas capacidades de generación de código nativo en tiempo de ejecución y un uso ampliado del compilador JIT.

Fuente: opennet.ru

Añadir un comentario