Python kompilyatori Codon nashr etildi

Exaloop startapi Codon loyihasi uchun kodni chop etdi, u Python tili uchun Python ish vaqti bilan bog‘lanmagan, chiqish sifatida sof mashina kodini yaratishga qodir kompilyatorni ishlab chiqadi. Kompilyator Python-ga o'xshash Seq tilining mualliflari tomonidan ishlab chiqilmoqda va uning rivojlanishining davomi sifatida joylashtirilgan. Loyiha, shuningdek, bajariladigan fayllar uchun o'z ish vaqtini va Python-da kutubxona qo'ng'iroqlari o'rnini bosuvchi funktsiyalar kutubxonasini taklif etadi. Kompilyator, ish vaqti va standart kutubxonaning manba kodlari C++ (LLVM dan ishlanmalar yordamida) va Python yordamida yoziladi va BSL (Business Source License) ostida tarqatiladi.

BSL litsenziyasi MySQL asoschilari tomonidan Open Core modeliga muqobil sifatida taklif qilingan. BSL ning mohiyati shundaki, ilg'or funksionallik kodi dastlab o'zgartirish uchun mavjud, ammo chetlab o'tish uchun tijorat litsenziyasini sotib olishni talab qiladigan qo'shimcha shartlar bajarilgan taqdirdagina bir muncha vaqt bepul foydalanish mumkin. Codon loyihasining qoʻshimcha litsenziya shartlari kodni 2.0 yildan soʻng (3-yil 1-noyabr) Apache 2025 litsenziyasiga oʻtkazishni talab qiladi. Shu vaqtgacha litsenziya notijorat maqsadlarda foydalanish sharti bilan nusxa ko'chirish, tarqatish va o'zgartirishga ruxsat beradi.

Chiqariladigan bajariladigan fayllarning ishlashi C tilida yozilgan dasturlarga yaqin sifatida taqdim etiladi. CPython-dan foydalanish bilan solishtirganda, Codon-dan foydalangan holda kompilyatsiya qilishda unumdorlik ortishi bir torli bajarish uchun 10-100 marta baholanadi. Bundan tashqari, Python-dan farqli o'laroq, Codon qo'shimcha ravishda ko'p ish zarralarini ishlatish qobiliyatini amalga oshiradi, bu esa unumdorlikni yanada oshirishga imkon beradi. Codon shuningdek, mavjud Python loyihalarida kompilyatsiya qilingan taqdimotdan foydalanish uchun individual funktsiya darajasida kompilyatsiya qilish imkonini beradi.

Codon modulli arxitektura yordamida qurilgan bo'lib, plaginlar orqali funksionallikni oshirishga imkon beradi, ular yordamida siz yangi kutubxonalar qo'shishingiz, kompilyatorda optimallashtirishni amalga oshirishingiz va hatto qo'shimcha sintaksisni qo'llab-quvvatlashingiz mumkin. Masalan, bioinformatika va moliyaviy matematikada foydalanish uchun parallel ravishda bir nechta plaginlar ishlab chiqilmoqda. Boehm axlat yig'uvchisi xotirani boshqarish uchun ishlatiladi.

Kompilyator ko'pgina Python sintaksisini qo'llab-quvvatlaydi, ammo mashina kodiga kompilyatsiya qilish Codonni CPython uchun shaffof almashtirish sifatida foydalanishga to'sqinlik qiladigan bir qator cheklovlarni qo'yadi. Masalan, Codon butun sonlar uchun 64 bitli int turidan foydalanadi, CPython esa butun sonlar uchun cheksiz hajmdan foydalanadi. Katta kod bazalari Kodon muvofiqligiga erishish uchun kodni o'zgartirishni talab qilishi mumkin. Qoida tariqasida, nomuvofiqliklar Codon uchun ma'lum Python modullarining amalga oshirilmaganligi va tilning ba'zi dinamik xususiyatlaridan foydalana olmaslik tufayli yuzaga keladi. Har bir bunday nomuvofiqlik uchun kompilyator muammoni qanday chetlab o'tish haqida ma'lumot bilan batafsil diagnostika xabarini chiqaradi.

Python kompilyatori Codon nashr etildi


Manba: opennet.ru

a Izoh qo'shish