Выпуск Nuitka 4.0, компилятора для языка Python. Прогресс развития JIT в CPython

የ Nuitka 4.0 ፕሮጀክት መለቀቅ አለ፣ የ Python ስክሪፕቶችን ወደ ሲ ውክልና ለመተርጎም አጠናቃሪ በማዘጋጀት ላይ ይገኛል፣ እሱም ከCPython ጋር ከፍተኛ ተኳሃኝነትን ለማግኘት libpython በመጠቀም ወደ ተፈፃሚው ፋይል ሊጠናቀር ይችላል (ነገሮችን ለማቀናበር ቤተኛ CPython መሳሪያዎችን በመጠቀም)። ከአሁኑ የ Python 2.6፣ 2.7፣ 3.4 - 3.13 ልቀቶች ጋር ሙሉ ተኳሃኝነት ቀርቧል። ከሲፒቶን ጋር ሲነጻጸሩ፣ የተጠናቀሩ ስክሪፕቶች በፓይስቶን ሙከራዎች የ335% የአፈጻጸም መሻሻል ያሳያሉ። የፕሮጀክት ኮድ በ Apache ፈቃድ ስር ተሰራጭቷል።

በአዲሱ ስሪት:

  • Внесены изменения для улучшения совместимости с Python 3.12, 3.13 и 3.14, например, добавлена поддержка отложенной обработки аннотаций и нового синтаксиса аннотирования типов для обобщённых классов и функций.
  • Добавлена экспериментальная возможность использования компилятора Zig (zig cc) в качестве бэкенда Си-компилятора в Nuitka.
  • Добавлена предварительная поддержка LTO-оптимизаций при использовании компилятора Clang.
  • Предложен декоратор «@nuitka_ignore» для исключения компиляции функций.
  • Реализованы опции: «—project» для сборки с использованием настроек из файла pyproject.toml, «—devel-profile-compilation» для профилирования на этапе сборки, «—debug-self-forking» для отладки форк-бомб, «—include-windows-runtime-dlls» для управление включением C runtime DLL в Windows, «—qt-debug-plugins» для диагностики загрузки Qt-плагинов.
  • Добавлена поддержка актуальных версий пакетов oracledb, win32ctypes, dask, dataparser, puremagic, pygments.lexers, tomli, av, sentry_sdk, jedi, parso, line_profiler и pandas.

Дополнительно можно отметить отчёт о прогрессе развития JIT-компилятора в CPython. Разработчики поставили перед собой цель поднять производительность JIT к выпуску CPython 3.15 на 5%, а к выпуску 3.16 повысить производительность на 10% и реализовать возможность использования JIT в режиме Free-threading (без глобальной блокировки). В текущем состоянии использование JIT в альфа-сборках CPython 3.15 уже демонстрирует в среднем ускорение на 11-12% на платформе macOS AArch64 и на 5-6% на платформе x86_64 Linux по сравнению со стандартным интерпретатором. При этом в отдельных тестах при включении JIT изменение производительности варьируется от ускорения на более чем 100%, до замедления на 20%.

 Выпуск Nuitka 4.0, компилятора для языка Python. Прогресс развития JIT в CPython


ምንጭ: opennet.ru

አስተያየት ያክሉ