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

Нова версія Python буде до 60% швидше: подробиці

Анастасія Пономарьова

Автори Python  поділилися тим, які особливості матиме нова версія мови програмування. Головна з них — прискорення процесу написання коду, пишуть у документах на офіційному сайті Python.

Швидкий запуск

Python 3.11 буде на 10-60% швидше ніж Python 3.10. У середньому розробники виміряли прискорення у 1,25 рази на стандартному наборі тестів. Почасти це стало можливим завдяки швидшому запуску. Python кешує байт-код у каталозі __pycache__, щоб прискорити завантаження модулів.

Раніше у версії 3.10 виконання модуля Python виглядало так:

Read __pycache__ -> Unmarshal -> Heap allocated code object -> Evaluate

У Python 3.11 основні модулі, необхідні для запуску, «заморожені». Це означає, що й об’єкти коду (і байт-код) статично розподіляються інтерпретатором. Це скорочує кроки у процесі виконання модуля:

Statically allocated code object -> Evaluate

Запуск інтерпретатора стане на 10-15% швидшим.

Швидке середовище виконання

Фрейми Python створюються щоразу, коли викликається функція Python, і містять інформацію про її виконання. Їх вирішили оптимізувати:

  • спрощено процес створення стекового кадру;
  • уникається виділення пам’яті за рахунок багаторазового повторного використання простору кадру в стеку C;
  • фрейм тепер містить лише необхідну інформацію, без додаткових відомостей про налагодження та керування пам’яттю.

Об’єкти кадрів у старому стилі тепер створюються лише за запитом відладчиків або функцій самоаналізу Python, а для більшої частини коду користувача об’єкти кадру взагалі не створюються. В результаті майже всі виклики функції Python значно прискорилися.

Також оптимізовано вбудовані виклики функцій Python. У версії 3.11, коли CPython виявляє код, що викликає іншу функцію Python, він встановлює новий кадр і переходить до нового коду всередині цього кадру. Це дозволяє повністю уникнути виклику функції інтерпретації C.

Ілюстрація

Також з’явиться спеціалізований адаптивний інтерпретатор PEP 659 – одна з ключових частин швидшого проекту CPython. Суть – прискорення за рахунок спеціалізації до 60%.

Байт-код CPython містить безліч інструкцій, що представляють високорівневі операції, і їхня спеціалізація тільки виграє. Приклади включають CALL, LOAD_ATTR, LOAD_GLOBALта BINARY_ADD.

Введення «родини» спеціалізованих інструкцій для кожної з них забезпечить ефективну спеціалізацію, оскільки кожна нова інструкція спеціалізована для одного завдання. Кожне сімейство включатиме «адаптивну» інструкцію, яка підтримує лічильник і намагається спеціалізуватися, коли цей лічильник досягає нуля.

Що кажуть айтівці

Програмісти не надто розраховують на суперприскорення роботи мови — своєю думкою вони поділилися на Reddit .

“У статті згадується 25% як середнє прискорення (на їх тестах). Це здається набагато кориснішим числом. Слід зазначити, що вони також сказали, що не очікують на збільшення споживання пам’яті вище 20%, що все ще здається досить значним”, — пише користувач padraig_oh.

Інші коментатори виявилися ще менш оптимістичними.

“Я впевнений, що є певні речі, які вони не оптимізували у мові, і тому програми, в яких ці речі є вузькими місцями, матимуть поліпшення продуктивності майже на 0%”, — вважає Korlus.

“Ви неправильно зрозуміли, це не від 10% до 60%. Це 10% мінус 60%. Оновлення робить ваші програми на -50% швидше”, — пожартував Jansencheng.

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

X відкриває вихідний код свого алгоритму. Він написаний на Rust і Python

Соцмережа X, основним власником якої є Ілон Маск, виконала обіцянку розкрити свій алгоритм, який визначає…

20.01.2026

OpenAI відкриває необмежений доступ до GPT-5.2 Instant і попереджає про появу реклами

Компанія OpenAI оголосила, що її тарифний план ChatGPT Go, який надає повний доступ до моделі…

20.01.2026

ШІ в розробці: що працює, що ні та як отримати від нього користь

85% розробників уже використовують ШІ в роботі. Це показують і світове опитування The Pragmatic Engineer…

20.01.2026

FRACTAL перейменовує свою рекрутингову агенцію на talanovyti

Група українських IT-компаній FRACTAL (ex-Netpeak Group) провела ребрендинг своєї рекрутингової агенції Netpeak Talent. Відтепер вона…

20.01.2026

Творець Ruby on Rails: штучний інтелект не готовий замінити навіть джуніорів

Автор популярного фреймворку Ruby on Rails Девід Гайнемаєр Генссон скептично висловився щодо перспективи заміни молодших…

20.01.2026

Google ускладнить інсталяцію Android-додатків зі сторонніх джерел

Google ускладнить процес встановлення мобільних програм на пристрої Android зі сторонніх джерел, в обхід офіційного…

20.01.2026