Softwareentwicklung: Echte Parallelität mit Python 3.13

Multithreading bringt eine deutliche Leistungssteigerung bei der AusfĂĽhrung auf Mehrkernprozessoren. Anwender mĂĽssen aber selbst fĂĽr Thread-Sicherheit sorgen.

Artikel verschenken
vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 13 Min.
Von
  • Sebastian Bindick
Inhaltsverzeichnis

Mit Python 3.13 können Anwenderinnen und Anwender erstmals den Global Interpreter Lock (GIL) deaktivieren. Das ermöglicht echte Parallelität mit Threads und hebt die bisherige Einschränkung von Python-Programmen auf Multiprozessorsystemen auf. Rechenintensive nebenläufige Anwendungen arbeiten so erheblich schneller.

Der Global Interpreter Lock ist ein Mechanismus, der den Zugriff auf geteilte Python-Objekte schĂĽtzt und verhindert, dass mehrere Threads gleichzeitig Python-Bytecode ausfĂĽhren. Das fĂĽhrt zu LeistungseinbuĂźen bei CPU-intensiven Programmen, da nur ein Thread gleichzeitig aktiv sein kann.

Mehr zum Programmieren mit Python
iX-tract
  • Python 3.13 ermöglicht erstmals die Deaktivierung des Global Interpreter Lock (GIL), was echtes Multithreading auf Mehrkernprozessoren ermöglicht.
  • Die Nutzung dieses Free-threaded-Modus fĂĽhrt einerseits zu deutlichen Performancegewinnen bei rechenintensiven Aufgaben, erfordert andererseits aber, dass Entwickler selbst fĂĽr Thread-Sicherheit sorgen.
  • Benchmarks belegen die Performancegewinne durch den deaktivierten GIL, zeigen aber auch die LeistungseinbuĂźen, wenn nur ein Thread erforderlich ist, vor allem wegen des zusätzlichen Aufwands bei der Synchronisierung und der Speicherverwaltung.

Bis Python 3.12 ermöglicht der GIL nur Nebenläufigkeit (Concurrency), bei der Threads immer abwechselnd aktiv sind und ihre Aufgabe sequenziell erledigen.

Das war die Leseprobe unseres heise-Plus-Artikels "Softwareentwicklung: Echte Parallelität mit Python 3.13". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.