Релиз Python-компилятора Shed Skin 0.8

Представлен релиз проекта Shed Skin 0.8, в рамках которого развивается экспериментальный компилятор Python-скриптов в представление на языке C++. Поддерживается генерация как обособленных исполняемых программ, так и модулей, которые после компиляции можно импортировать в Python-проекты с целью оптимизации производительности. В новой версии Shed Skin добавлена поддержка новых модулей (array, struct), решены проблемы с работой на 64-разрядных системах, добавлены новые оптимизации и исправлены ошибки. Код Shed Skin распространяется в рамках лицензии GPLv3.

Для компилируемых скриптов обязательным требованием является использование статической типизации (в процессе работы скрипта тип переменной не должен изменяться). Дополнительные ограничения вносятся на возможности использования стандартной библиотеки модулей - в настоящее время поддерживается только 22 базовых модуля. Из языковых конструкций не поддерживаются вложенные функции и функции с переменным числом аргументов.

Отдельный интерес представляет тестовый комплект, используемый для оценки совместимости с базовой реализацией CPython и для измерения производительности. Для тестов используется специально созданный в рамках проекта эмулятор платформы c64 (около 3500 строк кода) и около 60 различных скриптов, охватывающих различные особенности языка Python. При запуске под управлением CPython эмулятор обеспечивает вывод всего нескольких кадров в секунду, после компиляции с использованием Shed Skin производительность возросла до 50 FPS. В среднем, по утверждению разработчиков, Shed Skin обеспечивает прирост производительности от 2 до 200 раз, в зависимости от используемых задач.

При оценке работы при помощи тестового комплекта plb, в тесте "sudoku" Shed Skin оказался быстрее JPython в 31 раз, CPython в 25 раз, IronPython в 22 раза, PyPy в 4 раза. В тесте обработки строковых данных Shed Skin израсходовал в три раза больше памяти чем CPython, уступив только Jython, но в тесте умножения матриц потребление памяти в Shed Skin оказалось почти в два раза ниже CPython.

Из других проектов по созданию компиляторов для языка Python упоминается проект Gccpy, основанный студентом в рамках программы Google Summer Of Code 2010. Gccpy развивается под впечатлением от проекта PHC (фронтэнд к GCC для языка PHP). Как и PHC проект Gccpy реализован в виде фронтэнда к GCC. Разработка Gccpy еще далека от завершения, но позавчера был преодолен важный рубеж - подготовлен пригодный для сборки набор исходных текстов.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=31099

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>