Codon, компилятор барои Python нашр шудааст

Startup Exaloop рамзи лоиҳаи Codon-ро нашр кард, ки компилятори забони Pythonро таҳия мекунад, ки қодир ба тавлиди рамзи холиси мошини ҳамчун баромад, ки ба вақти кории Python алоқаманд нест. Компилятор аз ҷониби муаллифони забони Python-монанди Seq таҳия шудааст ва ҳамчун идомаи рушди он ҷойгир шудааст. Лоиҳа инчунин вақти кори худро барои файлҳои иҷрошаванда ва китобхонаи функсияҳое пешниҳод мекунад, ки зангҳои китобхонаро бо забони Python иваз мекунад. Рамзи сарчашмаи компилятор, вақти корӣ ва китобхонаи стандартӣ бо истифода аз C++ (бо истифода аз таҳияҳои LLVM) ва Python навишта шуда, дар доираи BSL (Иҷозатномаи Business Source) паҳн карда мешавад.

BSL аз ҷониби муассисони MySQL ҳамчун алтернатива ба модели Open Core пешниҳод шудааст. Моҳияти BSL дар он аст, ки рамзи функсияҳои васеъ дар аввал барои тағир додан дастрас аст, аммо барои муддате онро танҳо бо шартҳои иловагӣ, ки хариди иҷозатномаи тиҷоратӣ барои гузаштанро талаб мекунанд, ройгон истифода бурдан мумкин аст. Шартҳои иловагии иҷозатномаи лоиҳаи Codon талаб мекунанд, ки код пас аз 2.0 сол (3 ноябри соли 1) ба иҷозатномаи Apache 2025 интиқол дода шавад. То он вақт иҷозатнома нусхабардорӣ, паҳн кардан ва тағир доданро иҷозат медиҳад, ба шарте ки он барои мақсадҳои ғайритиҷоратӣ истифода шавад.

Фаъолияти иҷрошавандаҳои баромад ба барномаҳое, ки бо забони Си навишта шудаанд, наздик аст. Дар муқоиса бо истифодаи CPython, афзоиши самаранокӣ ҳангоми тартиб додани Codon барои иҷрои як ришта 10-100 маротиба ҳисоб карда мешавад. Ҳамзамон, бар хилофи Python, Codon ба таври иловагӣ имкони истифодаи мултимедиявиро амалӣ мекунад, ки ба шумо имкон медиҳад афзоиши боз ҳам бештари корҳоро ба даст оред. Codon инчунин ба шумо имкон медиҳад, ки дар сатҳи функсия тартиб диҳед, то намуди тартибдодашударо дар лоиҳаҳои мавҷудаи Python истифода баред.

Codon бо истифода аз меъмории модулӣ сохта шудааст, ки ба шумо имкон медиҳад, ки функсияҳоро тавассути плагинҳо васеъ кунед, ки метавонанд китобхонаҳои нав илова кунанд, оптимизатсияи компиляторҳоро амалӣ кунанд ва ҳатто барои синтаксиси иловагӣ дастгирӣ кунанд. Масалан, якчанд плагинҳо дар баробари истифода дар биоинформатика ва математикаи молиявӣ таҳия карда мешаванд. Ҷамъоварии партовҳои Boehm барои идоракунии хотира истифода мешавад.

Компилятор аксари синтаксиси Python-ро дастгирӣ мекунад, аммо тартиб додан ба коди аслӣ як қатор маҳдудиятҳоро ҷорӣ мекунад, ки аз истифодаи Codon ҳамчун ивазкунандаи шаффоф барои CPython пешгирӣ мекунанд. Масалан, Codon навъи 64-бити int-ро барои ададҳои бутун истифода мебарад, дар ҳоле ки CPython ададҳои номаҳдуд дорад. Мутобиқати кодон барои пойгоҳҳои калон метавонад тағйироти кодро талаб кунад. Одатан, номувофиқатӣ аз набудани татбиқи Codon модулҳои муайяни Python ва нотавонӣ истифода бурдани баъзе хусусиятҳои динамикии забон ба вуҷуд меояд. Барои ҳар як чунин номувофиқатӣ, компилятор паёми муфассали ташхисро бо маълумот дар бораи чӣ гуна кор кардан дар ҳалли мушкилот медиҳад.

Codon, компилятор барои Python нашр шудааст


Манбаъ: opennet.ru

Илова Эзоҳ