Pyston-lite JIT-kompilator stöder nu Python 3.10

Доступен новый выпуск расширения Pyston-lite, реализующего JIT-компилятор для CPython. В отличие от проекта Pyston, развиваемого обособленно как ответвление от кодовой базы CPython, Pyston-lite оформлен в виде универсального расширения, предназначенного для подключения к штатному интерпретатору Python (CPython). Новый выпуск примечателен обеспечением поддержки веток Python 3.7, 3.9 и 3.10, помимо ранее поддерживаемой ветки 3.8.

Pyston-lite låter dig använda de grundläggande Pyston-teknikerna utan att byta tolk, genom att installera en extra tillägg med PIP- eller Conda-pakethanteraren. Pyston-lite är redan värd i PyPI- och Conda-förråden och för att installera det, kör bara kommandot "pip install pyston_lite_autoload" eller "conda install pyston_lite_autoload -c pyston". Två paket erbjuds: pyston_lite (direkt JIT) och pyston_lite_autoload (utför automatisk JIT-substitution när Python-processen startar). Det är också möjligt att programmässigt styra inkluderingen av JIT från applikationen utan att installera autoload-modulen, med hjälp av funktionen pyston_lite.enable().

Дополнительно разработчики объявили, что отныне рассматривают Pyston-lite в качестве своего первичного продукта. Обычный Pyston позволяет добиться более высокой производительности, но его использование затруднено необходимостью замены интерпретатора, в то время как Pyston-lite легко интегрируется в имеющиеся конфигурации. Присутствовавшие в Pyston специфичные оптимизации будут по возможности перенесены в основной состав CPython. В отдалённой перспективе имеется желание перенести в основной состав CPython и реализацию JIT-компилятора.

В текущем виде по сравнению с CPython 3.8 использование Pyston-lite позволяет поднять производительность на 10% в тексте macrobenchmarks и на 28% в тесте pyperformance. Для сравнения прирост производительности при использовании обособленного Pyston составляет 28% и 65% соответственно.

В грядущий выпуск основного проекта CPython 3.11 включены изменения, связанные с кэшированием состояния байткода, ускорением вызова функций и применением быстрых интерпретаторов типовых операций, а также перенесены некоторые оптимизации, подготовленные проектами Cinder и HotPy. В итоге CPython 3.11rc2 в вышеотмеченных тестах демонстрирует прирост производительности в 12% и 26%, что сопоставимо с показателями Pyston-lite (в новом CPython и Pyston-lite применены разные оптимизации, портирование Pyston-lite для CPython 3.11 позволит ещё поднять производительность данной ветки).

Källa: opennet.ru

Lägg en kommentar