Das Zeitalter der Thread-Freiheit ausgerufen — Entscheidung des Python Steering Council
(discuss.python.org)Dank der Bemühungen von Donghee Na verlässt Free-Threading nun das Experimentalstadium und wird offiziell unterstützt.
Der Python Steering Council (SC) hat PEP 779 genehmigt und beschlossen, im Free-Threading-Build von Python 3.14 das Tag „experimental“ zu entfernen. Diese Entscheidung wurde unter der Bedingung getroffen, dass während Phase II die folgenden Aufgaben erfüllt werden.
-
C-API/ABI-Kompatibilität und Bereitstellung einer Stable C API
- Änderungen, die die Kompatibilität zu bestehenden APIs/ABIs brechen, müssen vorab zwingend mit der C-API-Arbeitsgruppe abgestimmt werden
- Bis Python 3.15 soll eine Stable C API speziell für Free-Threading definiert und bereitgestellt werden
-
Kriterien für neue experimentelle Projekte
- Neue experimentelle Projekte innerhalb von CPython sollen mit dem Free-Threading-Build kompatibel sein und auf dieser Grundlage entwickelt werden
- Die Komplexität durch die parallele Pflege von GIL und Free-Threading soll minimiert werden
-
Leitplanken für Performance und Speicher
- Ziel: höchstens 10 % Performance-Verlust gegenüber dem GIL-Build
- Bis zu 15 % Verlust / 15 % mehr Speicherbedarf erfordern eine vorherige Zustimmung des SC (Speicherobergrenze 20 %)
-
Anforderungen an die Dokumentation
- Python-Nutzer: Garantien und Änderungen bei Standardbibliotheks-APIs klar darstellen
- Python- und C-API-Entwickler: Parallelitätsgarantien wie Signale und Thread-Sicherheit dokumentieren
- CPython-Entwickler: Zu berücksichtigende Punkte bei der Implementierung dokumentieren
- Bereitstellung einer offiziellen „Free-Threading Landing Page“, die alle Materialien bündelt
-
Vorbereitung hochrangiger Concurrency-Primitiven
- Rund um das Paket
concurrentsollen hochrangige Concurrency-Werkzeuge vorgeschlagen und geprüft werden, die Nutzer verwenden können, ohne die interne Implementierung kennen zu müssen
- Rund um das Paket
-
Benchmark-Anforderungen
- Aussagen zu Performance, Speicher und Korrektheit sollen durch reproduzierbare Tests auf Basis von
pyperformanceverifiziert werden - Zusätzliche Benchmarks, die reale Workloads abbilden, werden ausdrücklich begrüßt
- Aussagen zu Performance, Speicher und Korrektheit sollen durch reproduzierbare Tests auf Basis von
Der SC zeigt sich zuversichtlich über den Fortschritt des Projekts und empfiehlt, dass die Python-Community den Free-Threading-Build aktiv als offiziell unterstützte Option bewirbt. In 3.14 beta 3 soll das Tag „experimental“ offiziell entfernt werden; ob Phase III (Free-Threading als Standard- oder einziges Build) kommt, wird später diskutiert.
3 Kommentare
Es lebe die Thread-Unabhängigkeit!
Juhu!
Wow ...!