15 puntos por darjeeling 2025-06-16 | 3 comentarios | Compartir por WhatsApp

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.

  1. 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
  2. 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
  3. 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 %)
  4. 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
  5. Preparación de primitivas de concurrencia de alto nivel

    • Con el paquete concurrent como eje, proponer y revisar herramientas de concurrencia de alto nivel que los usuarios puedan aprovechar sin conocer la implementación interna
  6. 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

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

 
carnoxen 2025-06-20

¡Viva la independencia de los hilos!

 
idunno 2025-06-18

¡Yay!

 
kimjoin2 2025-06-17

¡Guau...!