PYTHONL Telegram 5147
Наглядное сравнение скорости нового 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/5147
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/5147

View MORE
Open in Telegram


Telegram News

Date: |

“[The defendant] could not shift his criminal liability,” Hui said. Find your optimal posting schedule and stick to it. The peak posting times include 8 am, 6 pm, and 8 pm on social media. Try to publish serious stuff in the morning and leave less demanding content later in the day. best-secure-messaging-apps-shutterstock-1892950018.jpg The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator.
from us


Telegram Python/ django
FROM American