Declaran la era de libertad de hilos: decisión del Python Steering Council
(discuss.python.org)Gracias al esfuerzo de Na Dong-hui, el free-threading ahora deja atrás la etiqueta experimental y pasa a tener soporte oficial.
El Python Steering Council (SC) aprobó la PEP 779 para eliminar la etiqueta “experimental” de la compilación free-threaded de Python 3.14. Esta decisión se tomó con la condición de que durante la Fase II se cumplan las siguientes tareas.
-
Compatibilidad de C API/ABI y preparación de una Stable C API
- Cualquier cambio que rompa la compatibilidad con la API/ABI existente debe acordarse previamente con el grupo de trabajo de C API
- Definir y ofrecer para Python 3.15 una Stable C API exclusiva para free-threading
-
Criterios para nuevos proyectos experimentales
- Los nuevos proyectos experimentales dentro de CPython deben ser compatibles con la compilación free-threaded y desarrollarse sobre esa base
- Minimizar la complejidad derivada de mantener en paralelo GIL y free-threading
-
Guardrails de rendimiento y memoria
- Objetivo: una degradación de rendimiento de no más de 10 % frente a la compilación con GIL
- Hasta 15 % de degradación / 15 % de aumento de memoria requerirá acuerdo previo del SC (límite superior de memoria: 20 %)
-
Requisitos de documentación
- Usuarios de Python: aclarar las garantías y los cambios en la API de la biblioteca estándar
- Desarrolladores de Python y de C API: documentar las garantías de concurrencia, como señales y seguridad de hilos
- Desarrolladores de CPython: documentar los puntos a considerar en la implementación
- Ofrecer una ‘landing page’ oficial de free-threading que reúna todos los materiales
-
Preparación de primitivas de concurrencia de alto nivel
- Con el paquete
concurrentcomo eje, proponer y revisar herramientas de concurrencia de alto nivel que los usuarios puedan aprovechar sin conocer la implementación interna
- Con el paquete
-
Requisitos de benchmark
- Verificar las afirmaciones sobre rendimiento, memoria y corrección con pruebas reproducibles basadas en
pyperformance - Fomentar contribuciones de benchmarks adicionales que reflejen cargas de trabajo reales
- Verificar las afirmaciones sobre rendimiento, memoria y corrección con pruebas reproducibles basadas en
El SC expresó confianza en el progreso del proyecto y recomienda que la comunidad de Python promocione activamente la compilación free-threaded como una opción con soporte oficial. Está previsto que la etiqueta “experimental” se elimine oficialmente en la beta 3 de la versión 3.14, y más adelante se discutirá si se avanza a la Fase III (convertir free-threading en la compilación predeterminada o única).
3 comentarios
¡Viva la independencia de los hilos!
¡Yay!
¡Guau...!