- Der Python Global Interpreter Lock (GIL) war ein zentrales Hindernis für Leistungssteigerungen bei Programmen mit mehreren Threads.
- Im Oktober 2021 stellte Sam Gross eine Proof-of-Concept-Version von Python ohne GIL vor, die zunächst begeistert aufgenommen wurde, danach aber mehr als ein Jahr lang kaum Fortschritte machte.
- Der Python Steering Council hat nun seine Bereitschaft angekündigt, die no-GIL-Funktionalität zu integrieren.
- Das Mitte 2021 gestartete Faster-CPython-Projekt konzentriert sich darauf, die Single-Thread-Leistung des Python-Interpreters zu verbessern.
- Auf der diesjährigen PyCon stellten zwei Mitglieder des Faster-CPython-Teams die Strategien vor, die sie zur Verbesserung der Interpreter-Leistung eingesetzt haben.
- Im Januar 2023 veröffentlichte der Core-Entwickler Łukasz Langa die erste Version von PEP 703 ("Making the Global Interpreter Lock Optional in CPython" / „Den Global Interpreter Lock in CPython optional machen“), verfasst von Gross.
- Die Python-Community will einen chaotischen Übergang wie von Python 2 zu Python 3 vermeiden. Alle Änderungen zur Entfernung des GIL müssen mit Code kompatibel sein, der darauf nicht vorbereitet ist.
- Am 14. Juni erhöhte das Faster-CPython-Team den Druck und forderte eine Entscheidung zur no-GIL-Funktionalität.
- Am 28. Juli gab Vorstandsmitglied Thomas Wouters bekannt, dass der Rat PEP 703 angenommen hat, auch wenn die Details der Annahme noch abgestimmt werden.
- Der Plan ist, eine no-GIL-Version des Interpreters einzuführen, alle fehlenden Komponenten zu identifizieren, diese zu beheben und no-GIL anschließend zur Standard- und endgültigen Version von Python zu machen.
- Der Übergang zu einer no-GIL-Version wird voraussichtlich etwa fünf Jahre dauern; zugleich gibt es das Versprechen, Fehler der Vergangenheit nicht zu wiederholen.
- In diesem Artikel wird diskutiert, wie sich mit paralleler Programmierung in .NET
for-/foreach-Schleifen beschleunigen lassen, wenn „embarrassingly parallel“ Daten vorliegen.
- Der Artikel behandelt die langfristige Tragfähigkeit, die Single-Thread-Leistung von Python aufrechtzuerhalten; einige argumentieren, dass unvermeidlicher Overhead und steigende Komplexität die Leistung am Ende verschlechtern werden.
- Der Text blickt auf den Übergang von Python 2 zu Python 3 zurück, zwischen denen keine Kompatibilität bestand.
- Der Autor argumentiert, dass die Folgen der Inkompatibilität von Python 3 zu Python 2 für manche vorhersehbar waren, entgegen der verbreiteten Ansicht, und teilt dazu einen Link auf einen Blogbeitrag aus dem Jahr 2007.
- Der Autor betont, wie wichtig die Lehren aus dem Übergang von Python 2 zu Python 3 sind, um ähnliche Probleme in Zukunft zu vermeiden.
- Abschließend würdigt der Artikel die Weitsicht derjenigen, die die Herausforderungen des Übergangs von Python 2 zu Python 3 vorausgesehen haben.
1 Kommentare
Hacker-News-Kommentare