Microsoft Pyjion meningkatkan kelajuan Python

Projek Microsoft sumber terbuka baru, Pyjion, meningkatkan kepantasan bahasa Python dengan meningkatkan jurubahasa sahamnya dengan JIT yang berasal dari projek CoreCLR Microsoft.

Waktu operasi terbitan standard Python, CPython, hanya menafsirkan bytecode aplikasi Python dan tidak mempercepat dengan menyusun kod dengan cara apa pun. Satu kaedah biasa untuk mempercepat Python adalah dengan mengganti CPython sepenuhnya. PyPy, pengganti CPython yang popular, menggunakan penyusun JIT untuk mempercepat aplikasi Python.

PyPy memberikan peningkatan kelajuan yang tinggi untuk banyak aplikasi, tetapi tidak semuanya, dan kadangkala memberikan prestasi yang lebih buruk daripada CPython. Ia juga tidak mempunyai sokongan terbaik untuk modul sambungan CPython, yang banyak digunakan dalam aplikasi Python seperti pengkomputeran saintifik; oleh itu, beberapa pengguna Python yang paling gemar tidak dapat memanfaatkan PyPy sama sekali.

Pyjion mengambil pendekatan yang berbeza. Ia menambahkan JIT API ke CPython, jadi banyak JIT dapat dipasang terus ke CPython. Oleh kerana CPython masih digunakan, aplikasi berjalan seperti biasa, termasuk aplikasi yang bergantung pada modul peluasan.

Juga, Pyjion menargetkan Python 3, di mana projek pecutan Python yang lain telah banyak menyokong Python 2. PyPy menyokong Python 3, tetapi hanya Python 3.2, begitu banyak pembinaan bahasa yang ditambahkan sejak itu (seperti  async/await) tidak akan berfungsi.

Microsoft mendakwa pendekatan Pyjion lebih fleksibel, kerana komponen JIT diperlakukan sebagai sumber daya yang dapat dilepaskan. Pemilihan JIT berdasarkan CoreCLR tidak dimaksudkan menjadi satu-satunya pilihan, tetapi berfungsi sebagai bukti konsep. Menurut dokumentasi di GitHub, Microsoft berharap ini akan "menyebabkan berlakunya percambahan JIT untuk Python, memungkinkan orang memilih JIT yang paling sesuai dengan beban kerja mereka."

Microsoft menyumbang kepada projek sumber terbuka yang ada melalui sokongan tidak langsung dari usaha sendiri. Sumbangannya kepada kernel Linux, misalnya, terutama mengenai menjadikan Linux sebagai warga kelas pertama di Azure. Tetapi karya bahasanya sedikit lebih terbuka, dan jika Pyjion mendapat daya tarikan, itu akan menjadi salah satu sumbangan terbesar yang telah dibuat oleh Microsoft terhadap ekosistem bahasa yang sebelumnya tidak langsung ada.