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

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.

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

CEO Google обіцяє збільшувати штат програмістів, незважаючи на штучний інтелект

Сундар Пічаї, який очолює Google з 2015 року, заявив, що його компанія продовжуватиме збільшувати число…

05.06.2025

«Ринок переповнений пропозиціями з України». Чому українські провайдери здають в оренду власні IPv4-адреси

Українські телекомунікаційні компанії та провайдери масово здають в оренду IPv4-адреси, які свого часу були виділені…

05.06.2025

ChatGPT отримав доступ до хмарних документів та сторонніх дослідницьких інструментів

У ChatGPT додали конектори для підключення до хмарних сервісів, таких як Google Drive, Box, Dropbox,…

05.06.2025

У Запоріжжі затримано 35-річного хакера, який зламав 5000 хостинг-акаунтів для майнінгу криптовалют

Співробітники управління Кіберполіції НПУ в Запорізькій області затримали 35-річного хакера, який зламав 5000 хостинг-акаунтів і…

05.06.2025

Apple відмовляється від розробки на Java, віддаючи перевагу Swift

Внутрішня команда розробників Apple у новому тематичному дослідженні виявила, що «підхід Java до управління пам’яттю…

05.06.2025

Юлія Штукатурова стала новою керівницею європейського регіону в GlobalLogic

Компанія GlobalLogic заявила, що європейський регіон відтепер очолюватиме Юлія Штукатурова, повідомили в DOU. У GlobalLogic Юлія…

04.06.2025