Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

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

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1658
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 50 раз
Поблагодарили: 26 раз

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

Сообщение root:# »

Выпуск Nuitka 4.0, компилятора для языка Python. Прогресс развития JIT в CPython
Доступен выпуск проекта Nuitka 4.0, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.4 - 3.13. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 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%.
Изображение


Источник: https://www.opennet.ru/opennews/art.shtml?num=65271