Codon, mkusanyaji wa Python, imechapishwa

Uanzishaji wa Exaloop umechapisha msimbo wa mradi wa Codon, ambao hutengeneza mkusanyaji wa lugha ya Python wenye uwezo wa kutoa msimbo safi wa mashine kama pato, ambao haujaunganishwa na wakati wa utekelezaji wa Python. Mkusanyaji anaendelezwa na waandishi wa lugha ya Python-kama Seq na imewekwa kama mwendelezo wa ukuzaji wake. Mradi huo pia hutoa wakati wake wa kutekelezwa kwa faili zinazoweza kutekelezwa na maktaba ya vitendaji ambayo inachukua nafasi ya simu za maktaba huko Python. Misimbo ya chanzo ya mkusanyaji, muda wa utekelezaji na maktaba ya kawaida huandikwa kwa kutumia C++ (kwa kutumia maendeleo kutoka LLVM) na Python, na husambazwa chini ya BSL (Leseni ya Chanzo cha Biashara).

Leseni ya BSL ilipendekezwa na waanzilishi-wenza wa MySQL kama njia mbadala ya modeli ya Open Core. Kiini cha BSL ni kwamba kanuni za utendakazi wa hali ya juu zinapatikana kwa marekebisho, lakini kwa muda fulani zinaweza kutumika bila malipo tu ikiwa masharti ya ziada yametimizwa, ambayo yanahitaji ununuzi wa leseni ya kibiashara ili kukwepa. Masharti ya ziada ya leseni ya mradi wa Codon yanahitaji msimbo kuhamishiwa kwa leseni ya Apache 2.0 baada ya miaka 3 (Novemba 1, 2025). Hadi wakati huu, leseni inaruhusu kunakili, usambazaji na urekebishaji, mradi inatumika kwa madhumuni yasiyo ya kibiashara.

Utendaji wa faili zinazoweza kutekelezeka unawasilishwa kama kuwa karibu na programu zilizoandikwa kwa lugha ya C. Ikilinganishwa na kutumia CPython, faida ya utendaji wakati wa kuandaa kwa kutumia Codon inakadiriwa kuwa mara 10-100 kwa utekelezaji wa nyuzi moja. Zaidi ya hayo, tofauti na Python, Codon pia hutumia uwezo wa kutumia multithreading, ambayo inaruhusu ongezeko kubwa zaidi la utendaji. Codon pia hukuruhusu kukusanya katika kiwango cha kazi ya mtu binafsi kutumia uwakilishi uliokusanywa katika miradi iliyopo ya Python.

Codon imeundwa kwa kutumia usanifu wa kawaida unaokuruhusu kuongeza utendaji kupitia programu-jalizi, ambayo unaweza kuongeza maktaba mpya, kutekeleza uboreshaji katika mkusanyaji, na hata kutoa usaidizi kwa syntax ya ziada. Kwa mfano, programu-jalizi kadhaa zinatengenezwa kwa sambamba kwa matumizi ya bioinformatics na hisabati ya kifedha. Mkusanyaji taka wa Boehm hutumiwa kusimamia kumbukumbu.

Mkusanyaji huunga mkono syntax nyingi za Python, lakini uundaji wa nambari asilia huweka vikwazo kadhaa ambavyo huzuia Codon kutumiwa kama mbadala wa uwazi wa CPython. Kwa mfano, Codon hutumia aina ya int ya 64-bit kwa nambari kamili, wakati CPython hutumia saizi isiyo na kikomo kwa nambari kamili. Misimbo mikubwa inaweza kuhitaji mabadiliko ya msimbo ili kufikia uoanifu wa Codon. Kama sheria, kutopatana kunasababishwa na ukosefu wa utekelezaji wa Codon ya moduli fulani za Python na kutokuwa na uwezo wa kutumia sifa fulani za lugha. Kwa kila hali ya kutopatana kama hiyo, mkusanyaji hutoa ujumbe wa kina wa uchunguzi na maelezo ya jinsi ya kukwepa tatizo.

Codon, mkusanyaji wa Python, imechapishwa


Chanzo: opennet.ru

Kuongeza maoni