Shed Skin — проект 2005 года, транслятор программ, написанных на подмножестве языка Python, в оптимизированное C++ представление. Может транслировать только статические типы данных приложений на Python в код C++. Может генерировать как самостоятельные приложения, так и модули расширения, которые могут быть импортированы в большие приложения на языке PythonMaster Thesis Mark Dufour, "Shed Skin. An Optimizing Python-to-C++ Compiler" , April 19, 2006 .

Кроме ограничения статической типизации, не все модули стандартной библиотеки Python поддерживаются транслятором. В настоящий момент поддерживаются порядка 25 модулей, таких как random и re. Также реализованы не все особенности языка Python, например, не поддерживаются вложенные функции и переменное количество аргументов функций. Не поддерживает Unicode.

Shed Skin — проект с открытым исходным кодом, опубликован под лицензиями GPL и BSD, свой вклад в развитие проекта привнесли Francois Boutines, Jason Ye, Brent Pedersen, Joris van Zwieten, Thomas Spura, Paul Boddie и множество других участников.

Важным достоинством проекта, является возможность быстрой разработки программ на высокоуровневом языке программирования (Python), с последующей трансляцией кода в C++, что после компилирования, позволяет увеличить быстродействие созданных приложений. Главное отличие от проекта PyPy состоит в том, что Shed Skin позволяет экономить оперативную память.

Для набора из 80 нетривиальных испытательных программhttp://code.google.com/p/shedskin/downloads/list Shed Skin Examples, измерения показали ускорение выполнения программ от 1 до 100 раз, в сравнении с CPython.

См. также Pyrex (язык программирования) Cython PyPy — реализация стандартного интерпретатора и транслятора языка Python написанная на языке Python.

Примечания

Ссылки

Shed Skin Blog Исходный код shedskin

Категория:Python Категория:Компиляторы C++ Категория:Транспиляция