15 Punkte von darjeeling 2025-06-16 | 3 Kommentare | Auf WhatsApp teilen

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.

  1. 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
  2. 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
  3. 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 %)
  4. 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
  5. Vorbereitung hochrangiger Concurrency-Primitiven

    • Rund um das Paket concurrent sollen hochrangige Concurrency-Werkzeuge vorgeschlagen und geprüft werden, die Nutzer verwenden können, ohne die interne Implementierung kennen zu müssen
  6. Benchmark-Anforderungen

    • Aussagen zu Performance, Speicher und Korrektheit sollen durch reproduzierbare Tests auf Basis von pyperformance verifiziert werden
    • Zusätzliche Benchmarks, die reale Workloads abbilden, werden ausdrücklich begrüßt

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

 
carnoxen 2025-06-20

Es lebe die Thread-Unabhängigkeit!

 
idunno 2025-06-18

Juhu!

 
kimjoin2 2025-06-17

Wow ...!