1 puntos por GN⁺ 2023-08-19 | 1 comentarios | Compartir por WhatsApp
  • El Global Interpreter Lock (GIL) de Python ha sido un obstáculo importante para mejorar el rendimiento de los programas que usan varios hilos.
  • En octubre de 2021, Sam Gross presentó una versión de prueba de concepto de Python sin GIL, pero aunque al principio generó entusiasmo, durante más de un año no hubo avances importantes.
  • El Python Steering Council ahora anunció su disposición a integrar la funcionalidad no-GIL.
  • El proyecto Faster CPython, iniciado a mediados de 2021, está enfocado en mejorar el rendimiento de un solo hilo del intérprete de Python.
  • En la PyCon de este año, dos miembros del equipo de Faster CPython presentaron las estrategias que usaron para mejorar el rendimiento del intérprete.
  • En enero de 2023, el desarrollador principal Łukasz Langa publicó la primera versión del PEP 703 ("Hacer opcional el Global Interpreter Lock en CPython") escrito por Gross.
  • La comunidad de Python quiere evitar una transición caótica como la de Python 2 a 3. Cualquier cambio para eliminar el GIL debe ser compatible con código que no esté preparado para ello.
  • El 14 de junio, el equipo de Faster CPython aumentó la presión para impulsar una decisión sobre la funcionalidad no-GIL.
  • El 28 de julio, el miembro del consejo Thomas Wouters anunció que el consejo había aceptado el PEP 703, aunque los detalles de esa aceptación todavía se están ajustando.
  • El plan es introducir una versión del intérprete sin GIL para identificar todos los componentes faltantes y, después de resolverlos, hacer que no-GIL se convierta en la versión predeterminada y final de Python.
  • Se espera que la transición hacia una versión no-GIL tome alrededor de 5 años, con la promesa de no repetir los errores del pasado.
  • Este artículo analiza cómo acelerar bucles for/foreach usando programación paralela en .NET cuando se dispone de datos "vergonzosamente paralelizables".
  • El artículo también discute la viabilidad a largo plazo de mantener el rendimiento de un solo hilo en Python; algunos sostienen que el aumento inevitable de la sobrecarga y la complejidad terminará degradando el rendimiento.
  • El texto reflexiona sobre la transición de Python 2 a Python 3, que no tuvo compatibilidad entre ambas versiones.
  • El autor sostiene que algunas personas sí anticiparon el impacto de la incompatibilidad de Python 3 con Python 2, en contra de la creencia popular, y comparte un enlace a una entrada de blog de 2007.
  • El autor enfatiza la importancia de las lecciones aprendidas durante la transición de Python 2 a Python 3 para evitar problemas similares en el futuro.
  • El artículo concluye reconociendo la visión de quienes anticiparon los desafíos de la transición de Python 2 a Python 3.

1 comentarios

 
GN⁺ 2023-08-19
Comentarios en Hacker News
  • Debate sobre un artículo acerca de la eliminación del Global Interpreter Lock (GIL) y el proyecto para hacer CPython más rápido.
  • Algunos comentaristas creen que el artículo no resalta lo suficiente las ventajas de eliminar el GIL y que se inclina más hacia la postura "anti-GIL".
  • El trabajo de Sam Gross en el proyecto no-GIL es elogiado por su alta calidad y por las mejoras de rendimiento que aporta.
  • La comunidad mostró un gran interés en el proyecto, y el comité directivo planea aceptar la PEP 703, la propuesta relacionada con este proyecto.
  • Algunos comentaristas expresan preocupación por que la eliminación del GIL pueda afectar negativamente al código Python multihilo.
  • La decisión de avanzar con el proyecto en modo de prueba parece razonable, pero existe preocupación por la necesidad de más recursos si surgen errores o dificultades potenciales.
  • Algunos comentaristas creen que eliminar el GIL es un error porque podría causar una penalización de rendimiento y desplazar otras posibles mejoras.
  • Otros proponen priorizar el rendimiento de un solo hilo y agregar procesos virtuales con mecanismos claros para compartir memoria.
  • El impulso que Sam Gross le ha dado al proyecto es elogiado y, aunque el camino hacia Python sin GIL será largo y difícil, parece un avance positivo.
  • Hay preocupación por garantizar la corrección de las bases de código existentes y por el aumento en el costo de mantenimiento si GIL/no-GIL se convierte en una opción de compilación.
  • La comunidad de Python es elogiada por su transparencia y buena gobernanza, pero también hay voces que piden más apoyo de la industria tecnológica considerando el valor que extrae de Python.
  • Algunos comentaristas cuestionan si sería aceptable que, como resultado del proyecto, el código de un solo hilo pudiera volverse entre 15% y 20% más lento.