Новый Python 3.13 — Улучшенная производительность и многопоточность
12:30, 10.10.2024
7 октября 2024 года вышла стабильная версия Python 3.13, которая принесла множество значимых нововведений, включая экспериментальный JIT-компилятор, режим работы без глобальной блокировки интерпретатора (GIL) и обновлённый интерактивный интерпретатор на базе PyPy. Эти улучшения призваны повысить производительность и удобство работы с языком. Поддержка версии Python 3.13 продлится полтора года, после чего ещё три с половиной года будут выпускаться исправления безопасности.
Одной из ключевых новинок является экспериментальный JIT-компилятор, который позволяет значительно ускорить выполнение программ. Для активации JIT в CPython добавлена опция сборки --enable-experimental-jit, которая требует установки LLVM. Этот компилятор работает на базе архитектуры Copy-and-Patch, заменяя байт-код машинными инструкциями в реальном времени.
Также была добавлена возможность сборки CPython без GIL. Это нововведение, активируемое через --without-gil, позволяет распараллеливать выполнение кода на многоядерных системах, что решает проблемы с блокировками при работе в многопоточной среде. Однако отключение GIL приводит к небольшому снижению производительности для однопоточных программ, компенсируемому за счёт многопоточного выполнения.
Еще одно важное улучшение — обновленный интерактивный интерпретатор, заимствующий возможности из PyPy. Теперь доступно многострочное редактирование, цветные трассировки, интерактивная справка и другие улучшения для удобной работы с кодом.
В Python 3.13 также улучшена работа с локальными переменными в функциях, добавлена новая аннотация typing.TypeIs, и внедрены другие важные изменения, включая использование улучшенной версии библиотеки распределения памяти mimalloc.
Этот релиз знаменует важный шаг в развитии Python, повышая его производительность и открывая новые возможности для многопоточной работы и интерактивного программирования.