Shedskin

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Shed Skin
Тип реализация языка программирования[вд] и транспайлер
Автор Mark Dufour
Написана на Python, C++
Операционные системы Cross-platform: Linux, macOS, Windows
Языки интерфейса Python
Первый выпуск 2005
Последняя версия
Репозиторий github.com/shedskin/shed…
Лицензия GPL 3, BSD
Сайт shedskin.github.io

Shed Skin — проект 2005 года, транслятор программ, написанных на подмножестве языка Python, в оптимизированное C++ представление. Может транслировать только статические типы данных приложений на Python в код C++. Может генерировать как самостоятельные приложения, так и модули расширения, которые могут быть импортированы в большие приложения на языке Python[2] .

Кроме ограничения статической типизации, не все модули стандартной библиотеки 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 позволяет экономить оперативную память.

Для набора из 80 нетривиальных испытательных программ[4], измерения показали ускорение выполнения программ от 1 до 100 раз, в сравнении с CPython.

Примечания

[править | править код]
  1. Shed Skin v0.9.9 — 2024.
  2. Master Thesis Mark Dufour, "Shed Skin. An Optimizing Python-to-C++ Compiler" Архивная копия от 5 июля 2007 на Wayback Machine, April 19, 2006
  3. Shedskin 0.9 release notes. Дата обращения: 14 октября 2018. Архивировано 10 декабря 2017 года.
  4. http://code.google.com/p/shedskin/downloads/list Архивная копия от 6 декабря 2011 на Wayback Machine Shed Skin Examples