Документация по LinuxLinuxDoc.Ru 🔍
🕛

Nuitka 0.4.2

Выпущен релиз компилятора для языка Python - Nuitka 0.4.2, позволяющего транслировать скрипт на языке Python в представление на C++, которое можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Возможна компиляция как библиотек так и непосредственно исполнительных файлов, в том числе и рекурсивная.

В текущем виде проект уже обеспечивает заметное повышение производительности итогового исполняемого файла по сравнению с CPython (опережение на 258% в тесте pystone). Тем не менее, началась работа по реализации более значительных оптимизаций, которые позволят перевести производительность на новый уровень. В частности, уже реализована начальная система развёртывания констант и планируется задействование средств статического анализа кода для учёта информации о типах переменных при трансляции в код на С++, что позволит использовать нативные типы данных без обращения к libpython. Для преобразования типов, которые не удалось угадать при проведении автоматизированного анализа, разработчику будет предоставлена возможность ручного определения модуля с подсказками об используемых типах. Также планируется реализация интерфейса для взаимодействия с кодом на языке Си, через подключение написанных на Си ctypes-биндингов.

В текущем выпуске полностью поддерживаются версии языка Python 2.6, 2.7, 3.2 и базовый синтаксис версии 3.3. Компиляция выполняется путем трансляции кода в С++ и последующей передачи компилятору С++, таким как g++, MinGW g++, clang. Поддерживаются операционные системы Linux, MacOS X, Windows (32bit), FreeBSD, и аппаратные платформы x86, x86_64 и arm. Выпуск 0.4.2 примечателен добавлением поддержки Python 3.3 и FreeBSD, а также большой порцией новых оптимизаций и исправлением ошибок.

Установка компилятора может быть выполенена через pip:

sudo pip install nuitka

Компиляция программ может быть выполнена командой:

nuitka-python --recurse-all some_file.py
или просто:
nuitka --exe some_file.py

Также по теме:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Мы в соцсетях ✉