Python компиляторы Codon жарияланды

Exaloop стартапы Codon жобасының кодын жариялады, ол Python жұмыс уақытына байланысты емес шығыс ретінде таза машина кодын жасауға қабілетті Python тіліне арналған компиляторды әзірлейді. Компиляторды Python тәрізді Seq тілінің авторлары әзірлеуде және оның дамуының жалғасы ретінде орналастырылған. Жоба сонымен қатар орындалатын файлдар үшін өзінің жұмыс уақытын және Python-да кітапханалық қоңырауларды алмастыратын функциялар кітапханасын ұсынады. Компилятордың, орындау уақытының және стандартты кітапхананың бастапқы кодтары C++ (LLVM әзірлемелерін пайдалану арқылы) және Python көмегімен жазылған және BSL (Business Source License) бойынша таратылады.

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 бүтін сандар үшін шексіз өлшемді пайдаланады. Үлкен кодтық базалар Кодон үйлесімділігіне қол жеткізу үшін кодты өзгертуді қажет етуі мүмкін. Әдетте, үйлесімсіздіктер белгілі бір Python модульдерінің Codon үшін іске асырылмауынан және тілдің кейбір динамикалық мүмкіндіктерін пайдалану мүмкін еместігінен туындайды. Әрбір осындай үйлеспеушілік үшін компилятор мәселені айналып өту туралы ақпарат бар егжей-тегжейлі диагностикалық хабарламаны шығарады.

Python компиляторы Codon жарияланды


Ақпарат көзі: opennet.ru

пікір қалдыру