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
🔤Камқонликни олдини олиш учун қуйидагилар тавсия этилади:
🍲Тўғри овқатланинг - гўшт, жигар, балиқ, яшил барглар, дуккаклилар, ёнғоқлар, цитрус мевалари, қулупнай, малина ва бошқа резаворлар каби темир ва С витамини ўз ичига олган озиқ-овқатларни рационга киритинг.
🏃🏻♀️Соғлом турмуш тарзига риоя қилинг - мунтазам равишда машқ қилинг, етишмовчиликларни текшириб витаминларни қабул қилинг.
🧑🏻🔬Профилактик тиббий кўриклардан ўтиб туринг, шу жумладан қондаги гемоглобин ва темир миқдорини аниқловчи таҳлилларни йилда бир маротаба топшириб туринг.
🚫Спиртли ичимликларни чекланг, улар танадаги темирнинг сўрилишини камайтириши мумкин.
💊Агар керак бўлса, шифокор томонидан белгиланган темир препаратларини қабул қилинг.
Анемия бир неча сабабларга кўра юзага келиши мумкинлигини тушуниш муҳимдир. Жумладан темир, витаминлар этишмаслиги ва баъзи касалликлар. Шунинг учун, агар сизда анемия белгилари мавжуд бўлса, ташхис қўйиш ва даволаш учун шифокорга мурожаат қилишингиз керак.
🩺Doctor Ziyod | #hematology#anemia
❓Нима учун камқонликни аниқлашда фақат гемоглобинга қараш нотўғри?
⠀
🔤Камқонлик - бу қондаги гемоглобинни миқдори пасайиши билан кузатилувчи клиник синдром (белгилар гуруҳи). Кўпинча параллел равишта эритроцитлар сони ҳам камаяди ва кислород ташилиши бузилиб, гипоксия (кислород етишмовчилиги) юзага келади.
⠀
🔤Камқонлик мезонлари:
Гемоглобин эркакларда 130 г/л, аёлларда 120 г/л дан пастроқ бўлиши.
Лекин камқонлик доим фақат темир танқислиги билан боғлиқ бўлмайди. Бошқа тури - бу мегалобласт анемия. Бунда В12 витамини ва фолий кислотаси етишмовчилиги ортидан нуклеин кислоталар (ўша ДНКни ҳосил қиладиган моддалар) яралиши бузилади.
Батафсил қилинган умумий қон таҳлили камқонликни тури ҳақида бирламчи маълумотни беради.
В12 ва фолий кислотаси етишмовчилигида MCV, МСН ва MCHC юқори бўлади. Темир танқис анемияда эса, аксинча паст бўлади.
⠀
В12 дефицит анемияда эозонофиллар, моноцитлар сони пасаяди, лимфоцитлар нисбатан кўпаяди. Беморларни ярмида тромбоцитлар сони ҳам камаяди.
⠀
🔤Темир танқис камқонликни аниқлаш учун топширилади:
- Умумий қон таҳлили
- Ферритин (қонда)
- Қон зардобидаги темир миқдори
• Ферритин танадаги темир заҳираларини акс эттиради. Ферритин паст бўлса, демак темир танқислиги бор. Бунда бошланғич даврда гемоглобин нормада бўлиши мумкин!
⠀
Ферритин 40 нг/мл дан паст бўлиб, гемоглобин нормада бўлса - латент темир етишмовчилиши дейилади.
⠀
Ферритин 40 нг/мл дан паст бўлиб, гемоглобин ҳам паст бўлса - темир танқис анемия дейилади.
⠀
• Зардобдаги темир қонда сузиб юрган темир ва тўқималрдаги заҳиралар миқдорини кўрсатади. Оптимум: 20-25 мкмоль/л.
Таҳлилларда В12 дефицитининг белгилари бўлса, қўшимча шу витаминни аниқлаш учун таҳлил топширилади.
🩺Doctor Ziyod | #hematology#anemia
👀Қонни кўз билан кўриб қуюқ дейиш - катта ҳато!
Баъзида венадан қон ола туриб ҳамширалар "Қониз қуюлиб кетибти" дейишади. Уни устига фақат шу гапга асосланиб одамлар қон суюлтирувчи препаратларни ичиб юришади.
⚡️Бундай ўзбошимчалик жиддий муаммоларга олиб келиши мумкин. Мисол учун, ўткир қон кетиш ҳолатларига.
Қон топширадиган кун эрталаб овқат ейиш мумкин эмаслигини ҳамма билади. Лекин нимагадир одамлар сув ичиш ҳам мумкин эмас деб ўйлашади.
Тунда сув ичмайсиз ва уйғонганизда нисбатан сувсизланган бўласиз. Шу ҳолда лабораторияга борсангиз, қонда суюқлик миқдори нисбатан пасайгани ҳисобига, у қуюқроқ кўринади.
Лекин бу тромб ҳосил бўлиши ва бошқа муаммоларни ҳавфини оширмайди. Шунчаки бу организмдаги табий ўзгаришлар.
☝️Аслида қуюқ қон деб уни ивиш ҳусусияти билан адаштиришади. Ивиш кўрсаткичлари эса фақат ва фақат коагулограмма ва умумий қон таҳлилидаги баъзи кўрсаткичларга қараб аниқланади!
🩺Doctor Ziyod | #hematology#lab