denis19 denis19
/ habr.com

В альфа выпуск языка программирования Python 3.13.0a6 встроен JIT-компилятор

Опубликован альфа выпуск языка программирования Python 3.13.0a6, в который включена экспериментальная реализация JIT-компилятора, позволяющая добиться существенного повышения производительности.

Для активации JIT в CPython добавлена сборочная опция "--enable-experimental-jit". Для работы JIT требуется установка LLVM в качестве дополнительной зависимости.По информации OpenNET, процесс трансляции машинного кода в JIT построен с использованием архитектуры Copy-and-Patch, при которой при помощи LLVM собирается объектный файл в формате ELF, содержащий данные об инструкциях байткода и информацию о необходимой замене данных.JIT заменяет сгенерированные в ходе интерпретации программы инструкции байткода на их представления в машинном коде, попутно подставляя необходимые для вычислений данные (JIT копирует готовые шаблоны уже скомпилированных функций и подставляет в них необходимые значения, такие как аргументы и константы).Предложенный JIT примечателен очень высокой скоростью генерации кода, простотой сопровождения и полной интеграцией с интерпретатором.По сравнению с компиляцией в WebAssembly (Liftoff), новый JIT генерирует код в 5 раз быстрее, а результирующий код работает на 50% быстрее.

При сравнении с традиционным JIT-инструментарием LLVM добавленный в CPython JIT обеспечивает в 100 раз более быструю генерацию кода и на 15% более быстрый результирующий код.

Читать на habr.com
Сайт imag.one - агрегатор новостей из открытых источников. Источник указан в начале и в конце анонса. Вы можете пожаловаться на новость, если находите её недостоверной.

Сейчас читают

DMCA