1 poin oleh GN⁺ 2026-03-18 | Belum ada komentar. | Bagikan ke WhatsApp
  • Kompiler JIT CPython mencapai performa 11~12% lebih cepat di macOS AArch64 dan 5~6% di x86_64 Linux, melampaui target lebih awal
  • Pada versi 3.13~3.14, JIT lebih lambat daripada interpreter, tetapi performanya meningkat pesat berkat pengembangan berbasis komunitas dan perbaikan struktur
  • Upaya eksperimental seperti trace recording dan reference count elimination menjadi titik balik utama
  • Kontributor inti seperti Savannah Ostrowski, Mark Shannon, Diego Russo, Brandt Bucher serta banyak peserta baru berkolaborasi bersama
  • Hasil kali ini menunjukkan bahwa pengembangan yang dipimpin komunitas dan budaya kolaborasi dapat memberi dampak nyata pada peningkatan performa open source

Status peningkatan performa JIT CPython

  • Mencatat performa 11~12% lebih cepat di macOS AArch64 dan 5~6% di x86_64 Linux
    • Nilai pengukuran berdasarkan rata-rata geometrik, dan pada beberapa benchmark hasilnya bervariasi dari 20% lebih lambat hingga lebih dari 100% lebih cepat
    • Dukungan free-threading masih belum selesai, dengan target untuk versi 3.15/3.16
  • JIT pada versi 3.13~3.14 lebih lambat daripada interpreter, tetapi pada versi ini berhasil mencapai peningkatan kecepatan yang berarti

Pengembangan JIT yang berpusat pada komunitas

  • Setelah penghentian sponsor utama tim Faster CPython pada 2025, proyek beralih ke sistem pengembangan yang dipimpin komunitas
    • Target: peningkatan 5% di 3.15, peningkatan 10% di 3.16, serta dukungan free-threading
    • Untuk mengurangi bus factor, setiap tahap (frontend, middle-end, backend) diupayakan memiliki minimal 2 maintainer
  • Masalah yang kompleks dipecah menjadi bagian-bagian kecil agar kontributor baru bisa ikut berpartisipasi
    • Brandt Bucher memisahkan unit kerja melalui mega-issues
    • 11 kontributor mengubah instruksi interpreter agar lebih ramah terhadap optimasi JIT
  • Budaya mendorong kontribusi dan berbagi pencapaian membantu menjaga keberlanjutan partisipasi
    • Hasilnya, performa di x86_64 Linux meningkat dari 1% menjadi 3~4%

Titik balik teknis utama

Trace recording

  • Pada core sprint CPython, dilakukan peralihan ke frontend berbasis tracing
    • Awalnya 6% lebih lambat, tetapi performa membaik setelah diperkenalkannya struktur dual dispatch
    • Kecepatan interpreter dasar tetap terjaga sambil meminimalkan peningkatan ukuran interpreter
  • Dengan penerapan trace recording, cakupan kode JIT meningkat 50%, lalu efisiensi optimasi ikut membaik

Reference count elimination

  • Terinspirasi dari pekerjaan optimasi bytecode oleh Matt Page
    • Performa meningkat dengan menghapus branch yang muncul saat pengurangan reference count
    • Terbukti bahwa menghapus satu branch saja sudah memberi efek pengurangan biaya kumulatif
  • Mudah diparalelkan, dan digunakan untuk melatih kontributor baru sebagai tugas pembelajaran struktur JIT

Infrastruktur dan susunan tim

  • Savannah Ostrowski mengoperasikan infrastruktur pengukuran performa JIT dengan 4 mesin
    • Hasil eksekusi JIT harian memungkinkan deteksi dini terhadap regression performa
  • Diego Russo menangani peningkatan kompatibilitas JIT untuk hardware ARM dan profiler
  • Brandt Bucher membangun fondasi backend machine code untuk menurunkan hambatan masuk bagi kontributor baru

Kolaborasi dan pertukaran pengetahuan

  • Mendapat masukan terkait PyPy dari CF Bolz-Tereick, sehingga pemahaman desain JIT meningkat
  • Interaksi dengan para ahli compiler seperti Max Bernstein membantu menjaga motivasi berkelanjutan dan pertumbuhan teknis
  • Pengalaman menganalisis kode PyPy turut berkontribusi pada peningkatan kualitas JIT CPython

Kesimpulan

  • JIT di Python 3.15 merupakan hasil gabungan dari kolaborasi komunitas, eksperimen teknis, dan peningkatan infrastruktur
  • Ini membuktikan bahwa manusia, keberuntungan, dan budaya kolaborasi adalah pendorong utama inovasi performa open source

Belum ada komentar.

Belum ada komentar.