6 poin oleh darjeeling 2025-07-05 | Belum ada komentar. | Bagikan ke WhatsApp

Ini adalah refleksi dan analisis yang jujur dari seorang pengembang yang telah terlibat lebih dari dua tahun dalam pengembangan kompiler JIT (Just-In-Time) CPython.
Tulisan ini membagikan kondisi proyek CPython JIT compiler, khususnya dari pengembang yang berkontribusi secara inti pada bagian pengoptimalan (optimizer), berdasarkan pengalaman selama 2~3 tahun terakhir.
Hal-hal positif: pertumbuhan berbasis komunitas dan edukasi

  • Membangun komunitas: pada awalnya proyek ini dipimpin oleh segelintir pengembang, tetapi sekarang dijalankan dengan berpusat pada komunitas meskipun tim Faster CPython dari Microsoft telah dibubarkan. Kontributor inti baru seperti Savannah, Tomáš, dan Diego telah bergabung, dan ini merupakan upaya yang disengaja untuk keberlanjutan jangka panjang proyek JIT.
  • JIT yang mudah dipelajari: JIT dirancang agar kontributor baru tanpa keahlian khusus di bidang kompiler pun dapat dengan mudah mempelajarinya dan berkontribusi. Sebagai contoh, dipilih pendekatan 'tracing JIT' agar cukup dipahami melalui analisis statis pada satu basic block, bukan keseluruhan control-flow graph yang kompleks, sehingga hambatan masuk dapat diturunkan.
    Hal-hal yang disayangkan: performa dan pemberitaan media yang keliru
  • Masalah performa: terus terang, JIT di CPython 3.13 itu lambat. Jika dibangun dengan kompiler terbaru (Clang 20), JIT dalam banyak kasus justru lebih lambat daripada interpreter, dan baru menunjukkan performa yang mirip jika menggunakan kompiler lama (GCC 11). Versi 3.14 juga tidak menghadirkan lonjakan performa yang dramatis karena fokusnya adalah melatih kontributor baru dan memperluas analisis tipe yang sudah ada. Penulis meyakini bahwa membina talenta untuk jangka panjang adalah pilihan yang lebih tepat dibanding mengejar peningkatan performa jangka pendek.
  • Pemberitaan media yang tidak akurat: pada awalnya media memberitakan bahwa JIT "2-9% lebih cepat" daripada interpreter, tetapi itu tidak benar. Angka tersebut adalah hasil perbandingan terhadap 'tier 2 interpreter' yang sangat lambat dan menjalankan intermediate representation (IR) milik JIT, bukan terhadap interpreter CPython yang sebenarnya. Akibatnya, pengguna memiliki ekspektasi yang keliru terhadap JIT, dan karena dalam praktiknya performa sering justru menurun, penulis mengatakan ia merasakan frustrasi yang besar.
    Kesimpulan dan prospek masa depan
    Penulis tetap optimistis terhadap JIT. Komunitas yang kuat telah terbentuk, dan saat ini berbagai pekerjaan optimisasi sedang berlangsung secara paralel. Upaya-upaya ini diharapkan membawa peningkatan kecepatan sebesar persentase satu digit berdasarkan geometric mean benchmark pada versi 3.14.
    Penulis menutup tulisannya dengan pandangan positif bahwa, "jika benar-benar ada masalah yang 'buruk rupa (ugly)', saya pasti sudah tidak mengerjakan JIT lagi", seraya menyatakan bahwa JIT akan terus berkembang berkat kekuatan komunitas.

Belum ada komentar.

Belum ada komentar.