El cambio de paradigma paralelo de Python. Explorando el potencial de rendimiento de… | por Thomas Reid | Jul, 2024

Explorando el potencial de rendimiento de un Python sin GIL

¿Lo que está sucediendo?

Uno de los cambios más esperados en Python (eliminación del GIL —ver PEP 703) está listo para probarse ahora mismo. La versión actual de prelanzamiento de Python (3.13.0b4) tiene soporte experimental para ejecutarse con el bloqueo del intérprete global deshabilitado cuando se compila con el --disable-gil bandera. Las pitones creadas con esta bandera también se conocen como free-threadedversiones de Python.

Nota: todavía se está trabajando en esto, por lo que es de esperar que aparezcan errores. No utilice esta versión en sistemas de producción.

En este artículo, le mostraré cómo construir esta versión de Python y le mostraré algunos ejemplos de código con y sin GIL habilitado para ver qué diferencias genera en los tiempos de ejecución.

¿Por qué esto importa?

En una palabra, “actuación”.

Debido a que la ejecución con subprocesos libres puede utilizar todos los núcleos disponibles en su sistema simultáneamente, el código a menudo se ejecutará más rápido. Como científicos de datos e ingenieros de datos o de aprendizaje automático, esto se aplica no solo a su código, sino también al código que construye los sistemas, los marcos y las bibliotecas en los que confía.

Muchas tareas de aprendizaje automático y ciencia de datos requieren un uso intensivo de la CPU, en particular durante el modelado…