HeadlinesBriefing HeadlinesBriefing.com

JIT Python 3.15 vs 3.14: Benchmark

Towards Data Science •
×

Penulis menjalankan ulang tiga benchmark Python dari pengujian sebelumnya pada Python 3.14 dan Python 3.15, dengan kompiler JIT diaktifkan dan dinonaktifkan di setiap versi. Pada putaran sebelumnya, JIT 3.14 mempercepat perhitungan Mandelbrot sekitar 25% dan perhitungan jarak Levenshtein sebesar 27%, sementara pencarian graf Dijkstra tidak mengalami peningkatan sama sekali.

Python 3.15 telah membangun ulang JIT secara substansial. Versi 3.14 memperkirakan jalur kode yang kemungkinan dilalui, sedangkan 3.15 menggunakan front end tracing baru yang mencatat jalur yang benar-benar dilalui program. Optimizer juga mendapatkan alokasi register dasar, propagasi konstanta yang lebih baik, dan lebih sedikit operasi penghitungan referensi. Pembangkitan kode untuk x86-64 dan AArch64 telah ditingkatkan, dan kode mesin yang dihasilkan menggunakan memori lebih sedikit.

Menguji keempat konfigurasi (3.14 dan 3.15, masing-masing dengan JIT aktif dan nonaktif) memisahkan dampak perubahan interpreter di 3.15 dari dampak JIT-nya. Ini penting karena perbandingan langsung antara 3.14 dan 3.15 bisa menyesatkan. Interpreter 3.15 juga mencakup perubahan di luar JIT, termasuk perubahan pada interpreter yang digunakan oleh build Windows 64-bit resmi.

Tim rilis Python melaporkan peningkatan rata-rata geometris sebesar 7% hingga 8% dibanding interpreter standar pada rangkaian benchmark Linux x86-64-nya, dan 11% hingga 12% pada macOS AArch64. LLVM 21 hanya dibutuhkan saat proses build, sehingga pengguna binary resmi tidak perlu menginstalnya.

Pengujian ulang penulis menunjukkan bahwa JIT yang lebih kuat membantu ketiga beban kerja yang sama lebih banyak, namun tetap belum membantu setiap program, terutama kode yang menghabiskan waktunya untuk mengalokasikan objek dan memanggil operasi yang diimplementasikan di tempat lain.

Sumber: Towards Data Science · Diringkas oleh HeadlinesBriefing