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

Після 30 місяців роботи над JIT-компілятором Python він все ще повільніший за інтерпретатор

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

Кен Джин, розробник ядра CPython, який працює над оптимізацією JIT-компілятора, заявив, що після двох з половиною років роботи «JIT працює все ще повільніше за інтерпретатор або приблизно на цьому ж рівні». Про це пише DevClass.

JIT-компілятор включили в Python 3.13 у жовтні 2024 року. Спочатку передбачалось, що він гарантуватиме прискорення від 2% до 9%. Але Джин розповів, що «насправді все складніше». 

Частково проблема полягає в тому, що Python 3.13 має більше одного інтерпретатора. У документації пояснюється, що під час виконання інтерпретатор Python «починає зі спеціалізованого байт-коду першого рівня», але коли він бачить повторне використання того самого коду, «він перетворюється на нове суто внутрішнє проміжне представлення (IR), яке називається IR другого рівня». Це IR другого рівня краще підходить для JIT-компіляції в машинний код. Однак існує також інтерпретатор другого рівня, який «здебільшого призначений для налагодження ранніх етапів конвеєра оптимізації». Деякі порівняння продуктивності проводяться між кодом, скомпільованим JIT, та інтерпретатором другого рівня, що вводить в оману, оскільки «це не порівнюється з фактичним інтерпретатором CPython».

Ще однією складністю є те, що продуктивність CPython залежить від компілятора, який використовується для його збірки. Джин пояснює, що при збіранні за допомогою сучасного компілятора, такого як Clang 20, інтерпретатор часто перевершує JIT. Однак, якщо використовується старий компілятор, такий як GCC 11, JIT може бути на рівні або навіть швидшим за інтерпретатор.

Наступна версія Python 3.14 зараз перебуває в розробці, реліз заплановано на жовтень 2025 року. На запитання, чи покращиться продуктивність JIT, Джин відповів, що цього можна буде очікувати «у деяких випадках», але загалом «JIT 3.14 майже не має основних функцій оптимізатора порівняно з 3.13». Однак буде покращення генератора коду.

 

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

Безінтернетний месенджер Bitchat від Джека Дорсі провалив перевірку безпеки

Дослідники заявили, що новий месенджер Bitchat, створений засновником Twitter Джеком Дорсі, містить критичні вразливості, які…

10.07.2025

Docker розширює можливості для розробки, розгортання та запуску агентних програм

Компанія Docker оголосила про запуск нових функцій для спрощення розробки, розгортання та запуску агентних додатків…

10.07.2025

Білл Гейтс: програмування залишиться на 100% людською професією навіть через століття

Співзасновник Microsoft Білл Гейтс стверджує, що генеративному штучному інтелекту бракує креативності та розсудливості, щоб замінити…

10.07.2025

Grok 4 перевершив PhD-рівень по всіх тестах, максимальний тариф коштує $300 щомісяця

Компанія xAI випустила Grok 4 — флагманську LLM-модель у сімействі Grok. Перші тести демонструють результати,…

10.07.2025

OpenAI найближчим часом планує випустити браузер зі штучним інтелектом

Компанія OpenAI планує випустити власний браузер зі штучним інтелектом уже в найближчі тижні. Про це повідомила Speka. Новий браузер стане…

09.07.2025

У airSlate ймовірні зміни у керівництві. На посаду повертається Вадим Ясиновський

В ІТ-компанії airSlate, вірогідно, відбулася зміна CEO. Посаду замість Бориса Шахновича зайняв співзасновник бізнесу Вадим Ясиновський. Про…

09.07.2025