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.
Google представила три великі оновлення свого генератора відео Veo 3: підтримку вертикального формату (співвідношення сторін…
Microsoft вимагатиме від більшості своїх співробітників працювати в офісі щонайменше три дні на тиждень. Нові…
Незважаючи на те, що фронтенд залишається найпоширенішою категорією серед кандидатів, які шукають роботу в українському…
Microsoft завершує роботу над серйозним оновленням середовища розробки Visual Studio, головною метою якого є впровадження…
Чат-бот на базі моделей Claude від компанії Anthropic тепер може створювати та редагувати електронні таблиці…
Microsoft тестує нові функції Провідника на базі штучного інтелекту, які дозволяють користувачам Windows 11 працювати…