Pyston kembali dari kematian untuk mempercepat Python

Pengembangan Pyston, varian dari runtime Python yang menggunakan kompilasi just-in-time untuk mempercepat eksekusi program Python, kembali aktif setelah periode limbo yang lama. Setelah Dropbox berhenti, tim pengembangan baru telah merilis Pyston 2.0.

Pyston menyediakan apa yang pada akhirnya dimaksudkan sebagai pengganti drop-in untuk runtime Python standar, CPython. Ini kompatibel dengan Python 3.8, jadi program yang berjalan dengan versi Python itu harus berjalan sebagaimana adanya di Pyston.

Pyston melakukan pembuatan kode menggunakan kompilasi just-in-time, atau JITting, untuk menghasilkan banyak percepatannya. Program Pure-Python menunjukkan peningkatan terbesar, sedangkan program yang menggunakan modul C / C ++ untuk eksekusi lebih cepat, seperti PyTorch, menunjukkan lebih sedikit atau tidak sama sekali.

Salah satu tujuan dari proyek ini adalah untuk tetap sedekat mungkin dengan implementasi asli CPython, karena banyak proyek pihak ketiga membuat asumsi tentang perilaku CPython. Jadi Pyston 2.0 dimulai dengan basis kode CPython yang ada dan menambahkan fitur dari Pyston 1.0 yang bekerja dengan baik, seperti atribut caching dan JITting. JIT Pyston tidak lagi menggunakan LLVM, tetapi DynASM untuk memancarkan perakitan secara langsung.

JITting adalah teknik yang sama yang digunakan oleh proyek lain, PyPy, untuk mengirimkan percepatan besar ke aplikasi Python - dalam beberapa kasus, tujuh kali lipat dari yang CPython dapat berikan. Namun, pembuat Pyston mengklaim pendekatan mereka memiliki beberapa keunggulan dibandingkan PyPy termasuk kompatibilitas yang lebih baik dengan C API CPython dan konsumsi memori yang lebih rendah untuk beban kerja umum (misalnya, Flask dan DjangoCMS).

Dibuat di Dropbox, Pyston menghentikan pengembangan pada 2017 ketika Dropbox mencabut dukungan. Sekarang proyek tersebut berlanjut di bawah asuhan beberapa pengembang aslinya, meskipun secara mandiri.

"Pada awal tahun 2020," blog resmi Pyston menyatakan, "cukup banyak bagian yang tersedia bagi kami untuk memulai perusahaan dan bekerja di Pyston secara penuh waktu." Namun, tidak seperti inkarnasi Pyston yang asli, versi baru untuk saat ini bersifat closed-source, karena pengurus barunya menentukan model bisnis mereka. Kode sumber yang tersedia di GitHub proyek tampaknya berasal dari inkarnasi sebelumnya, bukan versi terbaru.

Biner prebuilt Pyston tersedia untuk Ubuntu 18.04 dan Ubuntu 20.04 x86_64. Tim pengembang bersedia membuat edisi lain berdasarkan masukan pengguna.