Shedskin
Shed Skin — проект 2005 года, транслятор программ, написанных на подмножестве языка Python, в оптимизированное C++ представление. Может транслировать только статические типы данных приложений на Python в код C++. Может генерировать как самостоятельные приложения, так и модули расширения, которые могут быть импортированы в большие приложения на языке Python[2] .
Shed Skin | |
---|---|
Тип | реализация языка программирования[d] и Транспайлер |
Автор | Mark Dufour |
Написана на | Python, C++ |
Операционная система | Cross-platform: Linux, Mac OS X, Windows |
Языки интерфейса | Python |
Первый выпуск | 2005 |
Последняя версия | |
Лицензия | GPL 3, BSD |
Сайт | shedskin.github.io |
Кроме ограничения статической типизации, не все модули стандартной библиотеки Python поддерживаются транслятором. В настоящий момент поддерживаются порядка 25 модулей, таких как random и re[3]. Также реализованы не все особенности языка Python, например, не поддерживаются вложенные функции и переменное количество аргументов функций. Не поддерживает Unicode.
Shed Skin — проект с открытым исходным кодом, опубликован под лицензиями GPL и BSD, свой вклад в развитие проекта привнесли Francois Boutines, Jason Ye, Brent Pedersen, Joris van Zwieten, Thomas Spura, Paul Boddie и множество других участников.
Важным достоинством проекта, является возможность быстрой разработки программ на высокоуровневом языке программирования (Python), с последующей трансляцией кода в C++, что после компилирования, позволяет увеличить быстродействие созданных приложений. Главное отличие от проекта PyPy состоит в том, что Shed Skin позволяет экономить оперативную память.
Для набора из 75 нетривиальных испытательных программ[4], измерения показали ускорение выполнения программ от 2 до 200 раз, в сравнении с CPython.
См. также
- Pyrex (язык программирования)
- Cython
- PyPy — реализация стандартного интерпретатора и транслятора языка Python написанная на языке Python.
Примечания
- Release 0.9.4 — 2015.
- Master Thesis Mark Dufour, "Shed Skin. An Optimizing Python-to-C++ Compiler", April 19, 2006
- Shedskin 0.9 release notes
- http://code.google.com/p/shedskin/downloads/list Shed Skin Examples
Ссылки
- shedskin.github.io — официальный сайт Shedskin
- Shed Skin Blog (англ.)
- Исходный код shedskin