Випуск мови програмування Python 3.14
Після року розробки опубліковано значний випуск мови програмування Python 3.14. Нова вітка буде підтримуватися протягом півтора року, після чого ще три з половини року для неї не будуть формуватися ісправлення з усуненням уязвимостей.
Серед новин, доданих у Python 3.14 (1, 2, 3):
Реалізована офіційна підтримка збірки CPython без глобальної блокування інтерпретатора (GIL, Global Interpreter Lock). Збірка без GIL дозволяє позбавитися від проблем з розпалюванням операцій на багатоядерних системах, викликаних тим, що глобальна блокування не допускає паралельне звернення до розділених об'єктів з різних потоків. Відключення GIL призводить до додаткових вкладних витрат, визваних змінами в збірці мусора, системі управління пам'яттю та примітивах для організації блокировок. Наприклад, із-за використання підрахунку ссылок для ізоляції потоків спостерігається зниження продуктивності однопоточних сценаріїв приблизно на 10%. При цьому подібні накладні витрати можуть компенсуватися розпараллеливанием операцій.
Додана підтримка t-строк (буквально з префіксом 't'), що дозволяє використовувати синтаксис, схожий на f-строки, для створення власних обробників шаблонів у рядках. На відміну від f-строк t-строки повертають об'єкт, роздільно зберігаючи статичні рядкові дані та надані значення. Раздельное хранение дозволяє зв'язувати власні обработчики, що впливають тільки на підставні значення. Наприклад, можна підключити обробник для перекладу поданих значень у верхній реєстр або для екранування спецсимволів при підстановці в рядку зовнішніх даних.
У стандартну бібліотеку додано модуль concurrent.interpreters, який дозволяє одночасно виконувати в одному процесі кілька ізольованих інших копій Python-інтерпретатора. Раніше дана можливість була доступна тільки через C-API. Одночасне виконання кількох інтерпретаторів може використовуватися для розпалювання операцій за аналогією із запуском кількох паралельно виконуваних процесів, але на відміну від багатопроцесорної моделі витрачається менше ресурсів. На рівні додатків для розділення операцій за інтерпретаторами можуть використовуватися моделі гравців і CSP (взаємодія послідовних процесів).
У CPython реалізований новий тип інтерпретатора, що використовує хвостові виклики між C‑функціями, реалізуючи окремі байтки Python, замість однієї великої функції з вираженим switch/case. При зборі в Clang 19 новий інтерпретатор демонструє підвищення продуктивності на 3-5% при виконанні тестів pyperformance. Новий інтерпретатор доступний у якості опцій для архитектури x86-64 і AArch64 і вимагає для збірки мінімум версії Clang 19 (підтримка GCC обіцяє пізніше).
Забезпечена відкладена обробка анотацій для функцій, класів і модулів. Анотації тепер не обробляються відразу, а зберігаються у формі спеціальних функцій і вираховуються при виникненні необхідності. Нова поведінка дозволяє спростити роботу з анотаціями та знизити вкладні витрати на обробку анотації під час виконання. Для інспектування відкладених анотацій запропоновано модуль annotationlib.
У стандартну бібліотеку додано пакет стиснення, що забезпечує функції стиснення та розпакування даних за допомогою різних алгоритмів. Крім модулів compression.lzma, compression.bz2, compression.gzip і compression.zlib, що надають доступ до функціональності, раніше доступної в модулях lzma, bz2, gzip і zlib, додано новий модуль compression.zstd з реалізацією алгоритму ZSTD (Zstandard).
У виразах "except" і "except*" дозволено не поміщати вміст у скобки, якщо у вираженні показано кілька виключених типів і не використовується ключове слово "as".
В інтерактивній оболонці PyREPL реалізована підсвітка синтаксису. Включений кольоровий висновок в CLI-утилітах з модулів unittest, argparse, json і calendar.
Доданий інтерфейс для підключення зовнішніх відладчиків і профілювачів до вже працюючих процесів CPython, не вимагає встановлення та перезапуску та не впливає на продуктивність.
У модуль pdb додана підтримка видаленого підключення до працюючих Python-процесів. Наприклад, для підключення до процесу з номером 1234 можна використовувати команду "python -m pdb -p 1234".
У модуль uuid додані функції uuid6(), uui
Схожі статті
- Apple і Google очолили список найдорожчих брендів світу
- Угода Intel з Nvidia не похитнула впевненості AMD у конкурентоспроможності своїх майбутніх товарів
- Microsoft закрила більше 100 уразливостей у Windows і Office, включаючи критичні RCE-дірки
- Представлений реліз ядра Linux 5.16
- Microsoft і Google побоюються злиття Qualcomm і Броадком
- Розкрита причина «гальм» старих іPhone
- Німеччина загрожує Telegram мільйонними штрафами у разі відмови від локалізації бізнесу
- У Windows 11 з'явилася довгоочікувана функція для систем із кількома моніторами
- В кінці лютого Mozilla офіційно презентує Firefox OS
- Net Applications: світовий ринок браузерів в січні 2013 року
- Новини
- Учбові посібники
- Цікава фізика. Механіка
- Цікава фізика. Молекулярні явища і теплота
- Цікава фізика. Електрика
- Цікава фізика. Оптика
- Цікава фізика. Розваги
- CISCO CCNA 2
- Зворотній зв'язок
- Партнери
- Нові оголошення
- 09.10.2025 01:36
Найбільший вибір візочків у Луцьку – eBabyDay - 24.09.2025 02:54
Інтернет-магазин професійної косметики для вій і брів Lerin - 24.09.2025 02:35
Інтернет-магазин zakaz4salon - 15.09.2025 07:22
Кератин і ботокс волосся - 03.09.2025 06:58
Компанія Дай Списати - надання послуг з написання студентських робіт на замовлення
- Нові компанії