Codon, kompiler Python, diterbitake

Exaloop wiwitan wis nerbitaké kode kanggo project Codon, kang develops compiler kanggo basa Python saged ngasilaken kode mesin murni minangka output, ora disambungake menyang Python runtime. Compiler lagi dikembangaké dening penulis saka Python-kaya basa Seq lan dipanggonke minangka kelanjutan pembangunan sawijining. Proyèk iki uga nawakake runtime dhewe kanggo file eksekusi lan perpustakaan fungsi sing ngganti telpon perpustakaan ing Python. Kode sumber compiler, runtime lan perpustakaan standar ditulis nggunakake C ++ (nggunakake pembangunan saka LLVM) lan Python, lan mbagekke ing BSL (Sumber Lisensi Bisnis).

Lisensi BSL diusulake dening co-founder MySQL minangka alternatif kanggo model Open Core. Inti saka BSL yaiku kode fungsi majeng wiwitane kasedhiya kanggo modifikasi, nanging kanggo sawetara wektu bisa digunakake kanthi gratis mung yen syarat tambahan ditemoni, sing mbutuhake tuku lisensi komersial kanggo ngubengi. Syarat lisensi tambahan proyek Codon mbutuhake kode kasebut ditransfer menyang lisensi Apache 2.0 sawise 3 taun (1 November 2025). Nganti wektu iki, lisensi ngidini nyalin, distribusi lan modifikasi, yen digunakake kanggo tujuan non-komersial.

Kinerja file eksekusi output ditampilake minangka cedhak karo program sing ditulis ing basa C. Dibandhingake nggunakake CPython, gain kinerja nalika kompilasi nggunakake Codon kira-kira 10-100 kaping kanggo eksekusi single-threaded. Kajaba iku, ora kaya Python, Codon uga ngetrapake kemampuan kanggo nggunakake multithreading, sing ngidini nambah kinerja sing luwih gedhe. Codon uga ngijini sampeyan kanggo ngumpulake ing tingkat fungsi individu kanggo nggunakake perwakilan nyawiji ing proyèk Python ana.

Codon dibangun nganggo arsitektur modular sing ngidini sampeyan nambah fungsionalitas liwat plugin, sing bisa nambah perpustakaan anyar, ngleksanakake optimasi ing kompiler, lan malah menehi dhukungan kanggo sintaks tambahan. Contone, sawetara plugin dikembangake kanthi paralel kanggo digunakake ing bioinformatika lan matématika finansial. Pengumpul sampah Boehm digunakake kanggo ngatur memori.

Compiler ndhukung paling sintaksis Python, nanging kompilasi kanggo kode mesin nemtokke sawetara watesan sing nyegah Codon digunakake minangka panggantos transparent kanggo CPython. Contone, Codon nggunakake jinis int 64-bit kanggo integer, nalika CPython nggunakake ukuran tanpa wates kanggo integer. Basis kode gedhe mbutuhake owah-owahan kode kanggo nggayuh kompatibilitas Codon. Minangka aturan, incompatibilities disebabake lack saka implementasine kanggo Codon modul Python tartamtu lan ora bisa nggunakake sawetara fitur dinamis saka basa. Kanggo saben incompatibility kasebut, compiler ngetokake pesen diagnostik sing rinci kanthi informasi babagan cara ngatasi masalah kasebut.

Codon, kompiler Python, diterbitake


Source: opennet.ru

Add a comment