1 points par GN⁺ 2023-10-22 | 1 commentaires | Partager sur WhatsApp
  • Le comité de pilotage de Python a annoncé son intention de rendre le verrou global de l’interpréteur (GIL) optionnel dans une future version de Python
  • La proposition PEP 703, encore en cours de discussion, est toujours en phase de finalisation de ses détails
  • Une version sans GIL de Python devrait résoudre certains des problèmes les plus difficiles de l’informatique, en particulier les questions de nommage
  • Sam Gross, auteur de la PEP 703, a discuté des interactions entre la proposition et l’ABI stable de CPython
  • L’ABI stable est utilisée pour les extensions afin de permettre des wheels binaires compatibles avec plusieurs versions de CPython
  • La proposition envisage une version unique de CPython sans GIL, mais d’ici là, il y aura des builds de l’interpréteur permettant de tester le fonctionnement no-GIL
  • Les extensions conçues pour l’ABI stable ne sont pas compatibles avec CPython 3.13 sans GIL, mais Gross propose, après cette version, de modifier les extensions pour qu’elles fonctionnent avec les deux types de builds de CPython
  • La discussion sur le nommage de la version sans GIL a été séparée dans un fil distinct
  • Le comité de pilotage s’est accordé pour éviter le nom "nogil" afin de décrire ces builds, et a proposé "free-threading" comme alternative
  • L’approbation finale de la PEP 703 reste en attente, et le comité de pilotage travaille à clarifier les critères d’approbation
  • La version sans GIL de CPython devrait avoir un impact important sur le développement de CPython et son écosystème pendant au moins les cinq prochaines années

1 commentaires

 
GN⁺ 2023-10-22
Avis sur Hacker News
  • Discussion sur l'état d'avancement de No-GIL CPython
  • Avis selon lequel le parallélisme explicite doit prendre plus d'importance dans l'informatique moderne et que Python doit s'adapter à cette tendance
  • Inquiétudes concernant la possibilité de voir apparaître des courses de données et des opérations incorrectes dans le code Python multithread si le GIL est supprimé
  • Question sur la faisabilité d'un analyseur statique capable d'identifier les problèmes potentiels dans les programmes Python existants après la suppression du GIL
  • Certains commentateurs comparent l'évolution de Python à celle d'OCaml et se demandent s'il existe des similitudes entre les deux projets
  • Débat sur la priorité actuelle accordée au Python sans GIL, certains défendant plutôt une amélioration des performances en mono-thread qu'un véritable multithreading
  • Certains commentateurs proposent de conserver le GIL mais d'introduire des Workers similaires à ceux de JavaScript, chaque thread de travail ayant sa propre VM isolée avec son propre GIL
  • Discussion également sur la longue et difficile transition de Python 2 vers Python 3, certains estimant que la communauté Python aurait pu profiter de cette occasion pour apporter des changements plus importants à l'intérieur de l'interpréteur
  • Expression de curiosité concernant les applications et services susceptibles de bénéficier de No-GIL Python, ainsi que sur ce que les développeurs attendent de cette évolution