Совсем недавно Python 3.14 наконец-то увидел свет. И знаете что? Он стал быстрее на целых 27% по сравнению с предыдущей версией. Разработчик Мигель Гринберг не стал ждать, и на следующий день опубликовал результаты независимых тестов, которые показали реальные улучшения. Итак, что нового и насколько это важно для вас? 💃
Главное обновление — это полноценная поддержка free-threading, то есть многопоточности без глобальной блокировки GIL. Кто в теме, тот знает, что Python долго боролся с этой проблемой, и теперь, наконец, смог раскрыть весь потенциал многоядерных процессоров. Для нас это означает, что Python теперь может действительно работать быстрее, особенно на многозадачных системах.
В тестах участвовали не только разные версии Python (от 3.9 до 3.14), но и конкуренты: PyPy, Node.js и Rust. Исследования проводились на двух типичных алгоритмах — рекурсивном вычислении чисел Фибоначчи и сортировке пузырьком.
Вот что показали результаты:
• Фибоначчи: в однопоточном режиме Python 3.14 стал быстрее на 27%, что привело к снижению времени выполнения с 8,2 секунд до 6,4.
• Сортировка пузырьком: время сократилось с 2,8 секунд до 2,05. Звучит не так впечатляюще, но помните, что это только начало.
Теперь самое интересное. В тестах с несколькими потоками Python 3.14 показал просто впечатляющие результаты. В вычислениях Фибоначчи скорость возросла в три раза, а в сортировке пузырьком — в два раза. Это не просто мелкие улучшения, а реально заметное ускорение, особенно в многозадачных приложениях 😳
А что с конкурентами?
Не будем забывать, что PyPy 3.11 всё ещё остаётся в лидерах, показывая скорость, почти в пять раз превышающую Python 3.14 при рекурсии и в 18 раз быстрее в сортировке. Node.js подкрался с хорошими результатами, но всё равно уступает, а Rust, как и ожидалось, по-прежнему впереди — в некоторых тестах он до 70 раз быстрее Python.
Python 3.14 — это, безусловно, лучший CPython на данный момент. Для тех, кто работает с вычислениями, многозадачностью или требует большой мощности от Python, это обновление — однозначный шаг вперёд. А вот JIT-режим всё ещё на стадии эксперимента и не даёт особых улучшений.
Если ваша команда ещё не обновилась, думаю, это стоит сделать. Многопоточность на Python теперь работает как никогда раньше, и это открывает новые горизонты для разработчиков. Многоядерные системы теперь не будут простаивать, ожидая завершения одного потока. А значит, вам останется только радоваться скорости.
Data Science
