Рубріки: Новини

Python 3.14 отримає новий інтерпретатор, який підвищує продуктивність до 30% без змін в існуючому коді

Дмитро Сімагін

Новий інтерпретатор, який незабаром з’явиться в релізі Python 3.14, запускатиме програми на 30% швидше, не потребуючи змін в існуючому коді. Бета-версія Python 3.14 має вийти в травні 2025 року, пише InfoWorld. Проміжні альфа-релізи також повинні включати новий інтерпретатор.

Журнал змін CPython 3.14 описує заплановану функцію як «новий тип інтерпретатора на основі хвостових рекурсій» (Tail call). Цей опис може ввести в оману тих, хто не стежить уважно за внутрішньою розробкою Python. «Хвостові рекурсії» не означають, що CPython або мова Python підтримуватимуть їхню оптимізацію. Оновлення стосується лише оптимізації, яку компілятор C виконує над кодом CPython, що пришвидшує спосіб, у який інтерпретатор надсилає свої інструкції байт-коду.

Жодних змін до існуючого коду Python вносити буде не потрібно, модулі розширення C для CPython також не потрібно перекомпілювати, оскільки немає змін до API або ABI CPython. Також новий інтерпретатор не додає значних витрат на обслуговування CPython, оскільки він реалізується в основному шляхом перепрофілювання існуючого коду.

Для тих, хто використовує попередньо зібрані двійкові файли CPython, нову збірку інтерпретатора слід включити як частину процесу оновлення до Python 3.14. Проте, якщо ви створюєте CPython із вихідного коду, використання цієї функції вимагатиме спеціального прапора компіляції для процесу збирання CPython ( –with-tail-call-interp).

Найголовніше те, що новий інтерпретатор вимагає використання компілятора C, який підтримує оптимізацію хвостової рекурсії. Не всі компілятори C забезпечують таку підтримку. Поки що процес компіляції підтримується на MSVC і Clang 19+ (на архітектурах x86-64 і AArch64). Очікується, що його також буде додано до GCC.

Python працює повільніше, ніж машинно скомпільовані мови, такі як Rust або C/C++, значною мірою тому, що поведінка цієї мови ускладнює оптимізацію швидкості. Але це не зупиняє масових зусиль удосконалити Python без шкоди для зворотної сумісності. Більшість цих зусиль зосереджено на оптимізації інтерпретатора CPython.

Останні статті

В Китаї планують виробляти скляні оптичні диски місткістю 360 ТБ. Їх розробили в Ухані

До кінця 2025 року у Китаї планують налагодити масове виробництво нової технології зберігання даних –…

25.07.2025

OpenAI запустить GPT-5 вже у серпні

Один з лідерів у галузі штучного інтелекту, компанія OpenAI, планує запустити свою нову мовну модель…

25.07.2025

Google тестує інструмент для вайб-кодингу Opal

Google тестує інструмент для вайб-кодування під назвою Opal. Поки він доступний користувачам лише в США…

25.07.2025

App Store запроваджує додаткові вікові обмеження для програм: 13+, 16+ і 18+

Маркетплейс мобільних застосунків App Store оновив віковий рейтинг для програм. Додано нові рейтингові обмеження та…

25.07.2025

Американку посадили на 8,5 років за «ферму ноутбуків» для північнокорейських програмістів

Жительку Аризони, яка облаштувала у себе вдома ферму з 90 ноутбуків, допомагаючи північнокорейським ІТ-спеціалістам видавати…

25.07.2025

В Android додали можливість запуску графічних програм Linux

На канал Android Canary, який прийшов на зміну Android Developer Preview і використовується для тестування…

25.07.2025