Codon, kompiler Python, diterbitkeun

Ngamimitian Exaloop geus diterbitkeun kodeu pikeun proyék Codon, nu ngamekarkeun compiler pikeun basa Python sanggup ngahasilkeun kode mesin murni salaku kaluaran, teu dihijikeun ka runtime Python. Compiler ieu dikembangkeun ku pangarang tina Python-kawas basa Seq sarta diposisikan salaku tuluyan tina ngembangkeun na. Proyék ogé nawiskeun runtime sorangan pikeun file anu tiasa dieksekusi sareng perpustakaan fungsi anu ngagentos telepon perpustakaan dina Python. Kodeu sumber kompiler, runtime sareng perpustakaan standar ditulis nganggo C ++ (ngagunakeun pamekaran tina LLVM) sareng Python, sareng disebarkeun dina BSL (Lisensi Sumber Usaha).

Lisénsi BSL diusulkeun ku pendiri MySQL salaku alternatif pikeun modél Open Core. Hakekat BSL nyaéta yén kodeu fungsionalitas canggih mimitina sayogi pikeun modifikasi, tapi pikeun sababaraha waktos tiasa dianggo gratis ngan ukur upami kaayaan tambahan dicumponan, anu meryogikeun mésér lisénsi komérsial pikeun ngagiling. Syarat lisénsi tambahan pikeun proyék Codon meryogikeun kodeu pikeun ditransfer kana lisénsi Apache 2.0 saatos 3 taun (1 Nopémber 2025). Dugi ka waktos ieu, lisénsi éta ngijinkeun salinan, distribusi sareng modifikasi, upami dianggo pikeun tujuan non-komersial.

Kinerja file anu tiasa dieksekusi kaluaran disayogikeun caket sareng program anu ditulis dina basa C. Dibandingkeun nganggo CPython, kauntungan kinerja nalika kompilasi nganggo Codon diperkirakeun 10-100 kali pikeun palaksanaan single-threaded. Sumawona, teu sapertos Python, Codon ogé ngalaksanakeun kamampuan ngagunakeun multithreading, anu ngamungkinkeun pikeun ningkatkeun prestasi anu langkung ageung. Codon ogé ngidinan Anjeun pikeun compile dina tingkat fungsi individu ngagunakeun ngagambarkeun disusun dina proyék Python aya.

Codon diwangun nganggo arsitéktur modular anu ngamungkinkeun anjeun ningkatkeun fungsionalitas ngalangkungan plugins, dimana anjeun tiasa nambihan perpustakaan énggal, ngalaksanakeun optimasi dina kompiler, bahkan nyayogikeun dukungan pikeun sintaksis tambahan. Salaku conto, sababaraha plugins dikembangkeun paralel pikeun dianggo dina bioinformatika sareng matematika kauangan. The Boehm collector sampah dipaké pikeun ngatur memori.

Kompiler ngadukung kalolobaan sintaksis Python, tapi kompilasi kana kode asli maksakeun sababaraha watesan anu nyegah Codon dianggo salaku gaganti transparan pikeun CPython. Contona, Codon ngagunakeun tipe int 64-bit pikeun integer, sedengkeun CPython ngagunakeun ukuran nu taya wates pikeun integer. Basis kode anu ageung tiasa ngabutuhkeun parobahan kode pikeun ngahontal kasaluyuan Kodon. Sakumaha aturan, incompatibilities disababkeun ku kurangna palaksanaan pikeun Codon modul Python tangtu jeung henteu mampuh ngagunakeun sababaraha fitur dinamis basa. Pikeun unggal sauyunan sapertos kitu, kompiler ngaluarkeun pesen diagnostik anu lengkep sareng inpormasi ngeunaan cara ngahindarkeun masalah.

Codon, kompiler Python, diterbitkeun


sumber: opennet.ru

Tambahkeun komentar