Projek Pyston, yang menawarkan Python dengan pengkompil JIT, telah kembali kepada model pembangunan terbuka

Pembangun projek Pyston, yang menawarkan pelaksanaan bahasa Python berprestasi tinggi menggunakan teknologi kompilasi JIT moden, membentangkan keluaran baharu Pyston 2.2 dan mengumumkan pengembalian projek kepada sumber terbuka. Pelaksanaan ini bertujuan untuk mencapai prestasi tinggi hampir dengan bahasa sistem tradisional seperti C++. Kod untuk cawangan Pyston 2 diterbitkan di GitHub di bawah PSFL (Python Software Foundation License), sama dengan lesen CPython.

Mari kita ingat bahawa projek Pyston sebelum ini diselia oleh Dropbox, yang menghentikan pembangunan pembiayaan pada 2017. Pembangun Pyston mengasaskan syarikat mereka dan mengeluarkan cawangan Pyston 2 yang direka bentuk semula dengan ketara, yang telah diisytiharkan stabil dan sedia untuk digunakan secara meluas. Pada masa yang sama, pembangun berhenti menerbitkan kod sumber dan beralih kepada menyediakan perhimpunan binari sahaja. Kini ia telah diputuskan untuk menjadikan Pyston sebagai projek sumber terbuka sekali lagi, dan memindahkan syarikat itu kepada model perniagaan yang berkaitan dengan pembangunan perisian sumber terbuka. Selain itu, kemungkinan memindahkan pengoptimuman daripada Pyston kepada CPython standard sedang dipertimbangkan.

Adalah diperhatikan bahawa Pyston 2.2 adalah 30% lebih pantas daripada Python standard dalam ujian prestasi yang menilai beban yang wujud dalam aplikasi pelayan web. Terdapat juga peningkatan yang ketara dalam prestasi dalam Pyston 2.2 berbanding keluaran sebelumnya, yang dicapai terutamanya melalui penambahan pengoptimuman untuk kawasan baharu, serta penambahbaikan pada JIT dan mekanisme caching.

Selain pengoptimuman prestasi, keluaran baharu ini juga menarik kerana ia membawa perubahan daripada cawangan CPython 3.8.8. Dari segi keserasian dengan Python asli, projek Pyston disebut-sebut sebagai pelaksanaan alternatif yang paling serasi dengan CPython, kerana Pyston ialah garpu daripada pangkalan kod CPython utama. Pyston menyokong semua ciri CPython, termasuk C API untuk membangunkan sambungan dalam bahasa C. Antara perbezaan utama antara Pyston dan CPython ialah penggunaan DynASM JIT, caching sebaris dan pengoptimuman umum.

Antara perubahan dalam Pyston 2.2, terdapat juga menyebut tentang membersihkan pangkalan kod daripada banyak ciri penyahpepijatan CPython, yang menjejaskan prestasi secara negatif, tetapi hampir tidak mendapat permintaan dalam kalangan pembangun. Statistik diberikan mengikut mana mengalih keluar alat penyahpepijatan membawa kepada kelajuan 2%, walaupun pada hakikatnya hanya kira-kira 2% daripada pembangun menggunakan fungsi ini.

Sumber: opennet.ru

Tambah komen