PYPROGLIB Telegram 6923
🔥 Python 3.14 официально поддерживает многопоточность без GIL

Большой шаг для Python-разработчиков:
С релизом Python 3.14, свободнопоточная сборка CPython (free-threaded build) официально поддерживается и больше не является экспериментальной.

📌 Это означает:
— Реальная многопоточность без GIL.
— Free-threaded Python — поддерживаемая, но пока опциональная сборка.
— Это фаза II. Переход к GIL-free по умолчанию — дело будущего.

👉 PEP 779: Free-threaded CPython

📌 Пример: сравнение GIL vs Free-threaded

Запуск CPU-bound задачи в двух потоках:
from concurrent.futures import ThreadPoolExecutor
import time

def cpu_bound_task():
start = time.time()
sum(1 for _ in range(10**7))
end = time.time()
print(f"Finished in {end - start:.2f} seconds")

with ThreadPoolExecutor() as e:
e.submit(cpu_bound_task)
e.submit(cpu_bound_task)


Результат:
$ uv run -p 3.14 a.py 
Finished in 1.01 seconds
Finished in 1.02 seconds

$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.49 seconds
Finished in 0.51 seconds


> Потоки реально работают параллельно — ускорение почти в 2 раза!

📌 Но не всё так просто

Попытка работать с общими объектами (например, добавлять в список) может замедлить код:
# Вставка элемента в общий список
shared = []
def task():
for i in range(10**5):
shared.append(i)


Результат:
$ uv run -p 3.14 a.py 
Finished in 0.10 seconds
Finished in 0.11 seconds
172214
$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.48 seconds
Finished in 0.49 seconds
1865


> Без GIL нужна синхронизация, иначе возможны конфликты и деградация производительности.

📌 Выводы

— Python наконец-то движется к реальной многопоточности.
— Free-threaded CPython уже работает — и может ускорить CPU-bound задачи.
— Не забывайте: работа с общими объектами требует явной синхронизации (даже с GIL). Потокобезопасность — ваша ответственность.

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1962👍2👾1



tgoop.com/pyproglib/6923
Create:
Last Update:

🔥 Python 3.14 официально поддерживает многопоточность без GIL

Большой шаг для Python-разработчиков:
С релизом Python 3.14, свободнопоточная сборка CPython (free-threaded build) официально поддерживается и больше не является экспериментальной.

📌 Это означает:
— Реальная многопоточность без GIL.
— Free-threaded Python — поддерживаемая, но пока опциональная сборка.
— Это фаза II. Переход к GIL-free по умолчанию — дело будущего.

👉 PEP 779: Free-threaded CPython

📌 Пример: сравнение GIL vs Free-threaded

Запуск CPU-bound задачи в двух потоках:

from concurrent.futures import ThreadPoolExecutor
import time

def cpu_bound_task():
start = time.time()
sum(1 for _ in range(10**7))
end = time.time()
print(f"Finished in {end - start:.2f} seconds")

with ThreadPoolExecutor() as e:
e.submit(cpu_bound_task)
e.submit(cpu_bound_task)


Результат:
$ uv run -p 3.14 a.py 
Finished in 1.01 seconds
Finished in 1.02 seconds

$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.49 seconds
Finished in 0.51 seconds


> Потоки реально работают параллельно — ускорение почти в 2 раза!

📌 Но не всё так просто

Попытка работать с общими объектами (например, добавлять в список) может замедлить код:
# Вставка элемента в общий список
shared = []
def task():
for i in range(10**5):
shared.append(i)


Результат:
$ uv run -p 3.14 a.py 
Finished in 0.10 seconds
Finished in 0.11 seconds
172214
$ uv run -p 3.14.0b3+freethreaded a.py
Finished in 0.48 seconds
Finished in 0.49 seconds
1865


> Без GIL нужна синхронизация, иначе возможны конфликты и деградация производительности.

📌 Выводы

— Python наконец-то движется к реальной многопоточности.
— Free-threaded CPython уже работает — и может ускорить CPU-bound задачи.
— Не забывайте: работа с общими объектами требует явной синхронизации (даже с GIL). Потокобезопасность — ваша ответственность.

Библиотека питониста #свежак

BY Библиотека питониста | Python, Django, Flask




Share with your friend now:
tgoop.com/pyproglib/6923

View MORE
Open in Telegram


Telegram News

Date: |

Administrators Channel login must contain 5-32 characters End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram Библиотека питониста | Python, Django, Flask
FROM American