Ссылка
нажмите — покажем
нажмите — покажем
🖥 Python → C++: Shed Skin компилирует код без ручной расстановки типов
Shed Skin переводит ограниченное подмножество Python 3 в оптимизированный C++. На выходе можно получить отдельную программу или модуль расширения, который импортируется в обычный Python-проект.
Типы инструмент выводит автоматически, поэтому аннотации добавлять не обязательно. Но код должен соответствовать ограничениям статической типизации.
Что со скоростью? На наборе из более чем 80 программ авторы получили среднее ускорение в 20 раз относительно CPython 3.14, медианное - в 12 раз. Это результаты конкретных примеров, а не обещание для любого проекта.
Ограничения существенные:
* Поддерживается только часть Python.
* Из стандартной библиотеки доступны около 25 модулей, включая random и re.
* Произвольные сторонние библиотеки использовать нельзя.
* Вложенные функции и переменное число аргументов не поддерживаются.
Проект рассчитан прежде всего на небольшие вычислительные участки кода, которые можно отделить от внешних зависимостей. Для совместимости может потребоваться серьёзный рефакторинг.
В репозитории есть примеры, включая трассировку лучей, шахматоподобные игры и DOOM.
https://github.com/shedskin/shedskin
@Python_Community_ru
440 ·