Codon, Python üçün tərtibçi nəşr olundu

Exaloop startapı Python dili üçün kompilyator hazırlayan, Python işləmə müddətinə bağlı olmayan, çıxış kimi təmiz maşın kodunu yarada bilən Codon layihəsinin kodunu nəşr etdi. Kompilyator Python-a bənzər Seq dilinin müəllifləri tərəfindən hazırlanıb və onun inkişafının davamı kimi yerləşdirilib. Layihə həmçinin icra edilə bilən fayllar üçün öz iş vaxtını və Python dilində kitabxana zənglərini əvəz edən funksiyalar kitabxanasını təklif edir. Kompilyatorun, işləmə müddətinin və standart kitabxananın mənbə kodu C++ (LLVM-dən olan inkişaflardan istifadə etməklə) və Python istifadə edərək yazılır və BSL (Business Source License) altında paylanır.

BSL MySQL həmtəsisçiləri tərəfindən Open Core modelinə alternativ olaraq təklif edilmişdir. BSL-nin mahiyyəti ondan ibarətdir ki, genişləndirilmiş funksionallıq kodu ilkin olaraq modifikasiya üçün mövcuddur, lakin bir müddət yalnız yan keçmək üçün kommersiya lisenziyasının alınmasını tələb edən əlavə şərtlərə uyğun olaraq pulsuz istifadə edilə bilər. Codon layihəsinin əlavə lisenziya şərtləri kodun 2.0 ildən sonra (3 noyabr 1-ci il) Apache 2025 lisenziyasına köçürülməsini tələb edir. Həmin vaxta qədər lisenziya qeyri-kommersiya məqsədləri üçün istifadə olunmaq şərti ilə surət çıxarmağa, yaymağa və dəyişdirməyə icazə verir.

Çıxış icra edilə bilən sənədlərin performansı C dilində yazılmış proqramlara yaxındır. CPython istifadə etməklə müqayisədə, Codon istifadə edərək tərtib edərkən performans artımı tək yivli icra üçün 10-100 dəfə hesablanır. Eyni zamanda, Python-dan fərqli olaraq, Codon əlavə olaraq çox iş parçacığından istifadə imkanını həyata keçirir ki, bu da performansın daha da artmasına nail olmağa imkan verir. Codon həmçinin mövcud Python layihələrində tərtib edilmiş görünüşdən istifadə etmək üçün funksiya səviyyəsində tərtib etməyə imkan verir.

Codon modul arxitekturadan istifadə edərək qurulmuşdur ki, bu da sizə yeni kitabxanalar əlavə edə, kompilyator optimallaşdırmalarını həyata keçirə və hətta əlavə sintaksis üçün dəstək verə bilən plaginlər vasitəsilə funksionallığı genişləndirməyə imkan verir. Məsələn, bioinformatika və maliyyə riyaziyyatında istifadə üçün paralel olaraq bir neçə plagin hazırlanır. Boehm zibil toplayıcısı yaddaşın idarə edilməsi üçün istifadə olunur.

Kompilyator əksər Python sintaksisini dəstəkləyir, lakin yerli koda kompilyasiya Codon-un CPython üçün şəffaf əvəz kimi istifadə edilməsinə mane olan bir sıra məhdudiyyətlər qoyur. Məsələn, Codon tam ədədlər üçün 64 bitlik int tipindən istifadə edir, CPython isə qeyri-məhdud tam ədədlərə malikdir. Böyük kod bazaları üçün kodon uyğunluğu kod dəyişikliklərini tələb edə bilər. Tipik olaraq, uyğunsuzluqlar müəyyən Python modullarının Codon üçün tətbiq edilməməsi və dilin bəzi dinamik xüsusiyyətlərindən istifadə edə bilməməsi ilə əlaqədardır. Hər bir belə uyğunsuzluq üçün kompilyator problemin ətrafında işləmək üçün ətraflı diaqnostik mesaj verir.

Codon, Python üçün tərtibçi nəşr olundu


Mənbə: opennet.ru

Добавить комментарий