LWN сообщает, что экспериментальный JIT-компилятор, добавленный в CPython в 2024 году к релизу 3.13, удалят. В июне управляющий совет Python приостановил работу над ним в main-ветке, потребовав принятия PEP, который закроет вопросы поддержки и совместимости и задаст явные метрики успеха.
lwn.net · #infra #compiler #jit #python
Python 3.15 включает JIT-компилятор, который на Linux x86-64 ускоряет выполнение на 7–8% в среднем, а на AArch64 macOS — на 11–12% относительно интерпретатора. Также появились sentinel-тип, frozendict, явные ленивые импорты для ускорения запуска, UTF-8 по умолчанию и включённые frame pointers для отладки.
www.phoronix.com · #tool #jit #performance #python
Branch Target Reuse — спекулятивный execute-after-free в JIT, когда не инвалидируются устаревшие записи предсказателя косвенных переходов. По словам VUSec, уязвимы BPF в Linux, GraalVM и SpiderMonkey, а затронуты Intel, AMD и Arm. Для современных Intel есть end-to-end эксплойт чтения произвольной памяти в обход всех включённых митигаций.
www.phoronix.com · #security #cve #jit #security #spectre
Экспериментальный JIT, появившийся в Python 3.13, больше не получит новых возможностей до дальнейшего распоряжения совета. Разрешены только исправления ошибок и уязвимостей. Причины паузы официально не объявлены.
lwn.net · #tool #cpython #jit #python
На LSF/MM/BPF Summit Алексис Лоторе рассказал, как прикрутить KASAN к JIT-компилируемому BPF-коду. Идея простая и приятная: memory checker должен видеть не только интерпретированный BPF, но и то, что после JIT реально летит в ядро, чтобы ловить ошибки компилятора и рантайма. Для ядра это тот случай, когда инструмент отладки наконец догоняет место, где баги обычно и прячутся.
lwn.net · #security #bpf #jit #kasan #linux #memory