Релиз Python-компилятора Shed Skin 0.8
Для компилируемых скриптов обязательным требованием является использование статической типизации (в процессе работы скрипта тип переменной не должен изменяться). Дополнительные ограничения вносятся на возможности использования стандартной библиотеки модулей - в настоящее время поддерживается только 22 базовых модуля. Из языковых конструкций не поддерживаются вложенные функции и функции с переменным числом аргументов.
Отдельный интерес представляет тестовый комплект, используемый для оценки совместимости с базовой реализацией CPython и для измерения производительности. Для тестов используется специально созданный в рамках проекта эмулятор платформы c64 (около 3500 строк кода) и около 60 различных скриптов, охватывающих различные особенности языка Python. При запуске под управлением CPython эмулятор обеспечивает вывод всего нескольких кадров в секунду, после компиляции с использованием Shed Skin производительность возросла до 50 FPS. В среднем, по утверждению разработчиков, Shed Skin обеспечивает прирост производительности от 2 до 200 раз, в зависимости от используемых задач.
При оценке работы при помощи тестового комплекта plb, в тесте "sudoku" Shed Skin оказался быстрее Jython в 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
|
0 | Tweet | Нравится |
|