PYTHONL Telegram 5151
Наглядное сравнение скорости нового Python 3.14 с предыдущей версией

Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.

Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.

Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.

Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.

Раньше поэтому многопоточность в Python фактически не работала.

🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.

Минусы такого подхода: каждая копия имеет отдельную память, данные нужно сериализовать при передаче — большие накладные расходы.

🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.

📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.

💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.

Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading

@pythonl
👍2712🔥7



tgoop.com/pythonl/5151
Create:
Last Update:

Наглядное сравнение скорости нового Python 3.14 с предыдущей версией

Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.

Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.

Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.

Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.

Раньше поэтому многопоточность в Python фактически не работала.

🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.

Минусы такого подхода: каждая копия имеет отдельную память, данные нужно сериализовать при передаче — большие накладные расходы.

🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.

📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.

💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.

Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading

@pythonl

BY Python/ django









Share with your friend now:
tgoop.com/pythonl/5151

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? Click “Save” ; Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. A vandalised bank during the 2019 protest. File photo: May James/HKFP.
from us


Telegram Python/ django
FROM American