7.09.2025 состоялся релизPithon 3.14!
На фоне хайпа про NoGIL всё позабыли про другие фичи. Особенно про Multiple Interpreters, который обещает изоляцию процессов но с эффективностью потоков! На сколько действительно это будет эффективно мы узнаем позже, потому что сейчас это лишь первый релиз с ограничениями и недоработками.
Но что там про NoGIL? Теперь этот режим не экспериментальный, а официально поддерживаемый, но опциональный.
Чтобы запустить без GIL нужна специальная сборка. И перед стартом нужно объявить переменную PYTHON_GIL=0
Для вас я собрал готовый репозиторий где достаточно запустить скрпит, который всё сделает:
▫️ соберет релизный Python 3.14 в новый Docker-образ
▫️ запустит тесты в контейнере (GIL, NoGIL, MultiInterpreter)
▫️ распечатает результаты
Тест очень простой, усложняйте сами)
Вот какие результаты у меня:
=== Running ThreadPoolExecutor GIL ON
TOTAL TIME: 45.48 seconds
=== Running ThreadPoolExecutor GIL OFF
TOTAL TIME: 6.14 seconds
=== Running basic Thread GIL ON
TOTAL TIME: 45.54 seconds
=== Running basic Thread GIL OFF
TOTAL TIME: 4.74 seconds
=== Running with Multi Interpreter
TOTAL TIME: 18.30 seconds
Если сравнивать GIL и NoGIL, то на мои 32 ядра прирост х7-x10 (почему не х32? 🤷). При этом нам обещают что скорости будут расти с новыми релизами.
Режим без GIL похож (визуально) на async, тоже параллельно, тоже не по порядку. Но это не IO! и от того некоторый диссонанс в голове 😵💫, нас учили не так!
Интересно, что чистый Thread работает быстрей чем ThreadPoolExecutor без GIL.
Ну и где-то плачет один адепт мульти-интерпретаторов😭 Теперь нужно искать где они могут пригодиться с такой-то скоростью. Скорее всего своя область применения найдется.
Отдельно я затестил память и вот что вышло на 32 потока:
ThreadPoolExecutor GIL ON
305.228 MB
ThreadPoolExecutor GIL OFF
500.176 MB
basic Thread GIL ON
90.668 MB
basic Thread GIL OFF
472.444 MB
with Multi Interpreter
1267.788 MB
Пока не знаю как к этому относиться)
В целом - радует направление развития!
#release
Valentine's Day Messages:
.1All I wanted was someone to care for me,
All I wanted was someone who'd b there for me,
All I ever wanted was someone who'd b true,
All I ever wanted was someone like You!
Happy Valentine's Day!
2.A day filled with kisses, a week filled with romance, a month filled with love, a year filled with bliss and a lifetime filled with happy memories. I want to spend the rest of my life with you.
Happy Valentine’s Day!
3.Darling, my love for you is as deep as the sea and as high as the sky. Happy Valentine’s Day!
When I look at you, I’m amazed by your beauty, both on the outside and the inside. Happy Valentine’s Day!
4.I still remember the moment when our eyes met for the first time. I felt butterflies in my stomach and since then my heart longs to be with you always. Be mine forever!
5.A day without you is a day without a sun, a night without a moon; a life without meaning.
6.Happy Valentine’s Day to the most special person in my life. You are my love, my heart and my joy.
#Messages
#Teamjimmy
#sirjimmy
@translobot
Qué puede hacer este bot?
Este es un bot traductor
Translo le permite traducir mensajes a más de 90 idiomas.
Idioma: Múltiple
(visto en @BotsGram_cu)
#translate, #suggest, #translation, #messages, #command, #english
@GitHubBot
Qué puede hacer este bot?
Este es un bot de GitHub. Puede notificarle sobre eventos en sus repositorios públicos de GitHub. También puede responder a tus mensajes para publicar comentarios en GitHub directamente desde Telegram.
Idioma: Inglés
(visto en @BotsGram_cu)
#telegram, #notify, #events, #github, #delete, #public, #command, #messages, #repository
@YTranslateBot
Qué puede hacer este bot?
Este bot traduce desde cualquier idioma a tu lenguaje nativo en el chat
(visto en @BotsGram_cu)
#translate, #yandex, #free, #suggest, #translation, #messages, #command, #remember, #english
@junction_bot
Qué puede hacer este bot?
Este bot puede recopilar publicaciones de tus canales favoritos de Telegram, para que puedas leerlas como un servicio de noticias.
¡También puede copiar mensajes entre canales y bots, filtrar anuncios, modificar mensajes y mucho más!
Idioma: Inglés, Ruso, Turco
(visto en @BotsGram_cu)
#link, #word, #project, #feed, #messages, #group, #subscription, #telegram, #share, #channel, #questions, #command, #inline, #join, #twitter, #favorite, #collect, #news, #enter, #place, #free, #message, #welcome