Deklarasi era kebebasan thread—keputusan Python Steering Council
(discuss.python.org)Berkat upaya Donghui Na, free-threading kini keluar dari label eksperimental dan akan didukung secara resmi.
Python Steering Council (SC) telah menyetujui PEP 779 dan memutuskan untuk menghapus label “experimental” dari build free-threaded Python 3.14. Keputusan ini diambil dengan syarat bahwa tugas-tugas berikut harus dipenuhi selama Phase II.
-
Kompatibilitas C API/ABI dan penyediaan Stable C API
- Perubahan yang merusak kompatibilitas API/ABI yang ada harus terlebih dahulu disepakati dengan C API Working Group
- Hingga Python 3.15, mendefinisikan dan menyediakan Stable C API khusus free-threading
-
Kriteria baru untuk proyek eksperimental
- Proyek eksperimental baru di dalam CPython harus kompatibel dengan build free-threading dan dikembangkan dengan landasan tersebut
- Meminimalkan kompleksitas akibat mempertahankan GIL dan free-threading secara paralel
-
Guardrail performa dan memori
- Target: penurunan performa dalam 10% dibanding build GIL
- Hingga 15% penurunan / 15% kenaikan memori memerlukan persetujuan awal SC (batas atas memori 20%)
-
Persyaratan dokumentasi
- Pengguna Python: memperjelas jaminan dan perubahan pada API pustaka standar
- Pengembang Python dan C API: mendokumentasikan jaminan konkurensi seperti sinyal dan thread safety
- Pengembang CPython: mendokumentasikan hal-hal yang perlu dipertimbangkan saat implementasi
- Menyediakan halaman landing resmi “free-threading” yang mengumpulkan semua materi
-
Kesiapan primitive konkurensi tingkat tinggi
- Berpusat pada paket
concurrent, mengusulkan dan meninjau alat konkurensi tingkat tinggi yang dapat digunakan tanpa pengguna perlu mengetahui implementasi internalnya
- Berpusat pada paket
-
Persyaratan benchmark
- Memverifikasi klaim performa, memori, dan ketepatan melalui pengujian berulang berbasis
pyperformance - Mendorong kontribusi benchmark tambahan yang mencerminkan workload dunia nyata
- Memverifikasi klaim performa, memori, dan ketepatan melalui pengujian berulang berbasis
SC menyatakan keyakinan terhadap kemajuan proyek ini, dan merekomendasikan agar komunitas Python secara aktif mempromosikan build free-threading sebagai opsi yang didukung resmi. Label “experimental” dijadwalkan resmi dihapus pada 3.14 beta 3, sementara apakah Phase III (mengubah free-threading menjadi build default atau satu-satunya) akan dilakukan masih akan dibahas kemudian.
3 komentar
Hidup kemandirian thread!
Hore!
Wow...!