Pyston kembali dari mati untuk mempercepat Python

Pengembangan Pyston, varian runtime Python yang menggunakan kompilasi tepat pada waktunya untuk mempercepat pelaksanaan program Python, kembali lagi setelah sekian lama limbo. Memilih tempat Dropbox berhenti, pasukan pengembangan baru telah mengeluarkan Pyston 2.0.

Pyston memberikan apa yang akhirnya dimaksudkan sebagai pengganti drop-in untuk runtime Python standard, CPython. Ia serasi dengan Python 3.8, jadi program yang berjalan dengan versi Python harus berjalan seperti biasa di Pyston.

Pyston melakukan penjanaan kod menggunakan penyusunan tepat pada waktunya, atau JITting, untuk menghasilkan banyak peningkatannya. Program Pure-Python menunjukkan peningkatan terbesar, sementara program yang menggunakan modul C / C ++ untuk pelaksanaan yang lebih cepat, seperti PyTorch, menunjukkan kurang atau tidak ada.

Salah satu tujuan projek ini adalah untuk tetap sedekat mungkin dengan pelaksanaan asli CPython, kerana banyak projek pihak ketiga membuat andaian tentang perilaku CPython. Oleh itu, Pyston 2.0 bermula dengan pangkalan data CPython yang ada dan menambahkan ciri dari Pyston 1.0 yang berfungsi dengan baik, seperti atribut caching dan JITting. JIT Pyston tidak lagi menggunakan LLVM, tetapi DynASM untuk memancarkan pemasangan secara langsung.

JITting adalah teknik yang sama yang digunakan oleh projek lain, PyPy, untuk memberikan kelajuan utama ke aplikasi Python - dalam beberapa kes, tujuh kali ganda dari yang dapat disampaikan oleh CPython. Walau bagaimanapun, pembuat Pyston mendakwa pendekatan mereka mempunyai beberapa kelebihan berbanding PyPy termasuk keserasian yang lebih baik dengan API C CPython dan penggunaan memori yang lebih rendah untuk beban kerja biasa (misalnya, Flask dan DjangoCMS).

Dicipta di Dropbox, Pyston menghentikan pembangunan pada tahun 2017 apabila Dropbox menarik sokongan. Kini projek ini diteruskan di bawah jagaan beberapa pemaju asalnya, walaupun secara bebas.

"Pada awal tahun 2020," blog rasmi Pyston menyatakan, "cukup banyak persediaan untuk kita memulakan syarikat dan bekerja di Pyston sepenuh masa." Namun, tidak seperti penjelmaan Pyston yang asli, versi baru adalah sumber tertutup buat masa ini, kerana pelayan barunya menentukan model perniagaan mereka. Kod sumber yang terdapat di GitHub projek nampaknya berasal dari penjelmaan sebelumnya, bukan versi terbaru.

Binari bawaan Pyston tersedia untuk Ubuntu 18.04 dan Ubuntu 20.04 x86_64. Pasukan pembangunan bersedia membina edisi lain berdasarkan maklum balas pengguna.