Shed Skin переводит ограниченное подмножество Python 3 в оптимизированный C++. На выходе можно получить отдельную программу или модуль расширения, который импортируется в обычный Python-проект.
Типы инструмент выводит автоматически, поэтому аннотации добавлять не обязательно. Но код должен соответствовать ограничениям статической типизации.
Что со скоростью? На наборе из более чем 80 программ авторы получили среднее ускорение в 20 раз относительно CPython 3.14, медианное - в 12 раз. Это результаты конкретных примеров, а не обещание для любого проекта.
Ограничения существенные:
* Поддерживается только часть Python.
* Из стандартной библиотеки доступны около 25 модулей, включая
random и re.* Произвольные сторонние библиотеки использовать нельзя.
* Вложенные функции и переменное число аргументов не поддерживаются.
Проект рассчитан прежде всего на небольшие вычислительные участки кода, которые можно отделить от внешних зависимостей. Для совместимости может потребоваться серьёзный рефакторинг.
В репозитории есть примеры, включая трассировку лучей, шахматоподобные игры и DOOM.
https://github.com/shedskin/shedskin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2👍2