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
Terrorism: From now on, an African who supports Ukraine 🇺🇦, who itself supports terrorist groups in Africa and Mali 🇲🇱, is considered an enemy for the liberation of Africa. From now on, Ukraine is officially the enemy of Africa, and the pan-African community. We will effectively treat his case as we do with their ally France on African lands. Case to follow!
Any act of mercy towards Ukraine 🇺🇦 on African lands is equivalent to cruelty towards the African. #Understand Who Can Take Ukraine down! At the bottom of the USA 🇺🇸! Low down with the African Union! Slow the complicit African states!
The Revolution is on the Move ✊🏾
@egountchibehanzinTV
If you knew me,
This is what would you'd really find;
I'm scared,
I'm filled with so much hate.
You tell me to pick myself up,
but it's too late!
Dark is the only light in sight,
Slowly killing me,
Destroying me piece by piece.
I've lost myself completely,
Insecurities echo in my dreams,
Yearning to be set free.
It's fingers reach out,
Dragging me deeper,
Dragging me straight back to hell.
I'm sorry,
I'm sorry I'm a bad person.
I hate myself too,
I've never been good enough,
Not to myself and probably not to anyone.
I think I've had enough...
I wish you'd understand.
You don't understand.
You'll never understand.
#review#no#one#understand#me
Here are 5 key takeaways from the book
"STRATEGIZE TO WIN"
-
1. #Know your strengths and weaknesses. This is the foundation of any successful strategy. Once you know what you're good at and what you're not so good at, you can start to build a strategy that plays to your strengths and minimizes your weaknesses.
2. #Set clear goals. What do you want to achieve? What are your long-term and short-term goals? Once you know what you want to achieve, you can start to develop a strategy to get there.
3. #Understand your competition. Who are your competitors? What are their strengths and weaknesses? What are their goals? Once you understand your competition, you can start to develop a strategy that will give you an edge.
4. #Be flexible. The world is constantly changing, so your strategy needs to be flexible enough to adapt to change. Be prepared to adjust your strategy as needed.
5. #Execute your strategy. This is the most important step of all. Once you have a strategy, you need to execute it. This means taking action and making sure that your strategy is working.
Here are some additional key takeaways from the book:
A. #Strategy is not a one-time event. It is an ongoing process that needs to be reviewed and updated regularly.
B. #Strategy is not about perfection. It is about progress. You will never have a perfect strategy, but you can always improve your strategy by learning from your mistakes and by making adjustments as needed.
C. #Strategy is about execution. It is not enough to have a good strategy. You also need to be able to execute your strategy effectively.
I hope these key takeaways help you on your journey to strategizing to win.
💠Join 🔺 Share @Business_Idea4💠
Here are 5 key takeaways from the book
"STRATEGIZE TO WIN"
-
1. #Know your strengths and weaknesses. This is the foundation of any successful strategy. Once you know what you're good at and what you're not so good at, you can start to build a strategy that plays to your strengths and minimizes your weaknesses.
2. #Set clear goals. What do you want to achieve? What are your long-term and short-term goals? Once you know what you want to achieve, you can start to develop a strategy to get there.
3. #Understand your competition. Who are your competitors? What are their strengths and weaknesses? What are their goals? Once you understand your competition, you can start to develop a strategy that will give you an edge.
4. #Be flexible. The world is constantly changing, so your strategy needs to be flexible enough to adapt to change. Be prepared to adjust your strategy as needed.
5. #Execute your strategy. This is the most important step of all. Once you have a strategy, you need to execute it. This means taking action and making sure that your strategy is working.
Here are some additional key takeaways from the book:
A. #Strategy is not a one-time event. It is an ongoing process that needs to be reviewed and updated regularly.
B. #Strategy is not about perfection. It is about progress. You will never have a perfect strategy, but you can always improve your strategy by learning from your mistakes and by making adjustments as needed.
C. #Strategy is about execution. It is not enough to have a good strategy. You also need to be able to execute your strategy effectively.
I hope these key takeaways help you on your journey to strategizing to win.
Thank you for reading 📖