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

View MORE
Open in Telegram


Telegram News

Date: |

Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! ZDNET RECOMMENDS Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” 5Telegram Channel avatar size/dimensions Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation.
from us


Telegram Python/ django
FROM American