Cyhoeddir Codon, casglwr Python

Mae'r cwmni cychwynnol Exaloop wedi cyhoeddi'r cod ar gyfer y prosiect Codon, sy'n datblygu casglwr ar gyfer yr iaith Python sy'n gallu cynhyrchu cod peiriant pur fel allbwn, heb ei gysylltu ag amser rhedeg Python. Mae'r casglwr yn cael ei ddatblygu gan awduron y Seq iaith tebyg i Python ac mae wedi'i leoli fel parhad o'i ddatblygiad. Mae'r prosiect hefyd yn cynnig ei amser rhedeg ei hun ar gyfer ffeiliau gweithredadwy a llyfrgell o swyddogaethau sy'n disodli galwadau llyfrgell yn Python. Ysgrifennir codau ffynhonnell y casglwr, yr amser rhedeg a'r llyfrgell safonol gan ddefnyddio C++ (gan ddefnyddio datblygiadau o LLVM) a Python, ac fe'u dosberthir o dan y BSL (Business Source License).

Cynigiwyd y drwydded BSL gan gyd-sylfaenwyr MySQL fel dewis amgen i'r model Open Core. Hanfod BSL yw bod y cod ymarferoldeb uwch ar gael i'w addasu i ddechrau, ond dim ond os bodlonir amodau ychwanegol y gellir ei ddefnyddio am beth amser, sy'n gofyn am brynu trwydded fasnachol i osgoi hynny. Mae telerau trwydded ychwanegol prosiect Codon yn ei gwneud yn ofynnol i'r cod gael ei drosglwyddo i drwydded Apache 2.0 ar ôl 3 blynedd (Tachwedd 1, 2025). Tan yr amser hwn, mae'r drwydded yn caniatáu copïo, dosbarthu ac addasu, ar yr amod ei bod yn cael ei defnyddio at ddibenion anfasnachol.

Cyflwynir perfformiad y ffeiliau gweithredadwy allbwn fel rhai sy'n agos at raglenni a ysgrifennwyd yn yr iaith C. O'i gymharu â defnyddio CPython, amcangyfrifir bod y cynnydd perfformiad wrth lunio gan ddefnyddio Codon 10-100 gwaith ar gyfer gweithredu un edau. Ar ben hynny, yn wahanol i Python, mae Codon hefyd yn gweithredu'r gallu i ddefnyddio multithreading, sy'n caniatáu ar gyfer cynnydd hyd yn oed yn fwy mewn perfformiad. Mae Codon hefyd yn caniatáu ichi lunio ar lefel swyddogaeth unigol i ddefnyddio'r gynrychiolaeth a luniwyd mewn prosiectau Python sy'n bodoli eisoes.

Mae Codon wedi'i adeiladu gan ddefnyddio pensaernïaeth fodiwlaidd sy'n eich galluogi i gynyddu ymarferoldeb trwy ategion, y gallwch chi ychwanegu llyfrgelloedd newydd â nhw, gweithredu optimeiddio yn y casglwr, a hyd yn oed ddarparu cefnogaeth ar gyfer cystrawen ychwanegol. Er enghraifft, mae nifer o ategion yn cael eu datblygu ochr yn ochr i'w defnyddio mewn biowybodeg a mathemateg ariannol. Defnyddir casglwr sbwriel Boehm i reoli cof.

Mae'r casglwr yn cefnogi'r rhan fwyaf o gystrawen Python, ond mae llunio cod brodorol yn gosod nifer o gyfyngiadau sy'n atal Codon rhag cael ei ddefnyddio fel amnewidiad tryloyw ar gyfer CPython. Er enghraifft, mae Codon yn defnyddio'r math int 64-bit ar gyfer cyfanrifau, tra bod CPython yn defnyddio maint diderfyn ar gyfer cyfanrifau. Mae'n bosibl y bydd angen newidiadau cod ar gronfeydd cod mawr er mwyn sicrhau cydnawsedd Codon. Fel rheol, mae anghydnawsedd yn cael ei achosi gan ddiffyg gweithredu rhai modiwlau Python i Codon a'r anallu i ddefnyddio rhai o nodweddion deinamig yr iaith. Ar gyfer pob anghydnawsedd o'r fath, mae'r casglwr yn cyhoeddi neges ddiagnostig fanwl gyda gwybodaeth ar sut i osgoi'r broblem.

Cyhoeddir Codon, casglwr Python


Ffynhonnell: opennet.ru

Ychwanegu sylw