Programmierung: Unterstützung für Python ohne Global Interpreter Lock wächst
Im Blog der Python Foundation(öffnet im neuen Fenster) fasst Entwickler Alex Waygood eine der wohl wichtigsten Diskussionen des vergangenen Python Language Summit zusammen: die Frage nach der Abschaffung des Global Interpreter Lock (GIL) der Sprache. Der GIL verhindert effektiv eine echte Nebenläufigkeit der Sprache. In der Vergangenheit gab es immer wieder Versuche, diese Technik in der Standardimplementierung CPython abzuschaffen. Eine neue Idee stößt nun offenbar auf große Unterstützung.
Konkret handelt es sich dabei um das Nogil-Projekt von Sam Gross, das auf vorigen Arbeiten zu der Idee basiert, den GIL in Python abzuschaffen. Verfügbar ist der experimentelle Beispielcode seit Oktober 2021. Er hatte zunächst vor allem Probleme bei Python-Projekten, die Drittanbieter-Code nutzten.
Zu dem Problem, das sich durch den Verzicht auf den GIL ergibt, heißt es im Blog: "Damit Python auch ohne die GIL effektiv arbeiten kann, müssen zu einem Großteil des Codes neue Sperren hinzugefügt werden, um sicherzustellen, dass er weiterhin Thread-sicher ist. Das Hinzufügen neuer Sperren zu bestehendem Code kann jedoch sehr schwierig sein, da es in einigen Bereichen zu großen Verlangsamungen kommen kann." In einem früheren Experiment führte der Verzicht auf den GIL etwa zu einer massiven Verlangsamung für Single-Thread-Code.
Gross' neue Arbeiten stoßen aber offenbar auf "Begeisterung" beim Rest des Kern-Entwicklungsteams von Python. Zu lösen ist vor allem die Frage, wie eine derart massive Änderung in CPython umgesetzt werden könnte. Gross schlägt dafür einen Compiler-Flag vor. Letztlich hieße das aber auch, zwei Versionen parallel zueinander zu pflegen – mit und ohne GIL. Eine finale Entscheidung zur Umsetzung ist noch nicht gefallen.
- Anzeige Hier geht es zu Python 3: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



