15 poin oleh darjeeling 2025-06-16 | 3 komentar | Bagikan ke WhatsApp

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.

  1. 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
  2. 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
  3. 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%)
  4. 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
  5. 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
  6. Persyaratan benchmark

    • Memverifikasi klaim performa, memori, dan ketepatan melalui pengujian berulang berbasis pyperformance
    • Mendorong kontribusi benchmark tambahan yang mencerminkan workload dunia nyata

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

 
carnoxen 2025-06-20

Hidup kemandirian thread!

 
idunno 2025-06-18

Hore!

 
kimjoin2 2025-06-17

Wow...!