Codon është publikuar, kompiliues për gjuhën Python

Startup-i Exaloop publikoi kodin e projektit Codon, që zhvillon një përkthyes për gjuhën Python, i cili është në gjendje të gjenerojë një kode të pastër makinerie, që nuk është i varur nga runtime i Python. Përkthyesi zhvillohet nga autorët e gjuhës Seq, e cila është e ngjashme me Python, dhe pozicionohet si një vazhdim i zhvillimit të saj. Projekti gjithashtu ofron një runtime të vet për skedarët e ekzekutueshëm dhe një bibliotekë funksionesh, e cila zëvendëson thirrjet bibliotekore në gjuhën Python. Kodet burimore të përkthyesit, runtime dhe bibliotekës standarde janë shkruar duke përdorur gjuhët C++ (me kontributet nga LLVM) dhe Python, dhe shpërndahen nën licencën BSL (Licenca e Burimeve Biznesore).

Licenca BSL u propozua nga bashkFounded-it e MySQL si një alternativë për modelin Open Core. Thelbi i BSL është se kodi i funksionalitetit të zgjatur është fillimisht i disponueshëm për modifikim, por për një periudhë të caktuar mund të përdoret falas vetëm nëse plotësohen kushte shtesë, kalimi për të cilat kërkon blerjen e një license komerciale. Kushtet shtesë të licencës së projektit Codon parashikojnë kalimin e kodit në licencën Apache 2.0 brenda 3 vitesh (1 nëntor 2025). Deri në atë kohë, licenca lejon kopjimin, shpërndarjen dhe modifikimin, nëse përdoret për qëllime jo komerciale.

Performanca e skedarëve ekzekutues të dalë paraqitet si e afërt me programet e shkruara në gjuhën C. Krahasuar me përdorimin e CPython, rritja e performancës me përkthimin përmes Codon vlerësohet të jetë nga 10 deri në 100 herë për ekzekutimin e njëkohshëm. Ndërkohë, për dallim nga Python, në Codon është realizuar gjithashtu mundësia e përdorimit të shumëprocësorësisë, e cila lejon arritjen e një rritjeje edhe më të madhe të performancës. Codon gjithashtu lejon përkthimin në nivelin e funksioneve të veçanta për përdorimin e përfaqësimit të përkthyer në projektet ekzistuese të Python.

Codon është ndërtuar duke përdorur një arkitekturë modulare, e cila lejon shtimin e funksionalitetit përmes plugineve, me të cilat mund të shtoni biblioteka të reja, zbatoni optimizime në përkthyes dhe madje të siguroni mbështetje për sintaksë të shtuar. Për shembull, disa plugina janë duke u zhvilluar paralelisht për përdorim në bioinformatikë dhe matematikë financiare. Për menaxhimin e memories përdoret mbledhësi i plehrave Boehm.

Përkthyesi mbështet pjesën më të madhe të sintaksës Python, por përkthimi në kodin makineri vendos disa kufizime që e pengojnë përdorimin e Codon si një zëvendësues të qartë të CPython. Për shembull, në Codon për numrat e plotë përdoret tipar 64-bit int, ndërsa në CPython dimensioni i numrave të plotë nuk është i kufizuar. Për të arritur përputhshmërinë me Codon, mund të kërkohet modifikimi i kodit për bazat e mëdha të kodit. Si rregull, papërputhshmëritë shkaktohen nga mungesa e implementimit të disa moduleve Python për Codon dhe pamundësia për të përdorur disa mundësi dinamike të gjuhës. Për çdo papërputhshmëri të tillë, përkthyesi jep një mesazh të hollësishëm diagnostikues me informacion se si të zgjidhni problemin e shfaqur.

Codon është publikuar, kompiliues për gjuhën Python


Burimi: opennet.ru
Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster