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
Слушая лекции по протистам академика Владимира Васильевича Малахова из курса зоологии беспозвоночных для студентов МГУ без жуков не обойтись. Вот и грегарины тесно связаны с чернотелкой рода Blaps#Tenebrionidae.
Грегарины (Gregarinasina) — одноклеточные организмы, внеклеточные паразиты практически всех известных на сегодняшний момент типов беспозвоночных.
Beetles of the World🪲 — жуки и не только
Высокая холодостойкость жука-чернотелки Centorus rufipes #Tenebrionidae – одна из причин его успешности во время ледниковых периодов плейстоцена.
Изучена холодостойкостьCentorus rufipes в сравнении с минимальными температурами в местах его зимовки – в верхних сантиметрах почвы. Выбор этого жука не случаен – это единственный вид семейства чернотелок, обычный в конце плейстоцена в перигляциальных степях юга Западной Сибири, существовавших там во время ледниковых периодов. Напротив, в степных котловинах Южной Сибири и Монголии, современных аналогах перигляциальных степей, чернотелки являются одной из лидирующих групп.
Ранее было показано, что вероятной причиной слабой представленности чернотелок в плейстоцене является их недостаточная холодостойкость. Однако этот вывод был недостаточно обоснован без выяснения причин успешности Centorus rufipes. В новой работе проверялись две гипотезы: высокая по сравнению с другими чернотелками холодоустойчивость Centorus rufipes, и относительная мягкость условий его обитания — берегов соленых озер. Были измерены два показателя холодостойкости: температура переохлаждения, при которой происходит замерзание жуков, в среднем составляет –31 °C; температура, при которой гибнет 50% особей, составляет около –27 °C. Эти показатели как минимум на 5° ниже, чем даже у массовых видов чернотелок из Чуйской котловины Алтая, известной своими экстремальными зимними температурами. Таким образом, гипотеза о повышенной холодоустойчивости Centorus rufipes подтвердилась. Напротив, отепляющего влияния озёр в местах его обитания не обнаружено.
Полученные результаты – очередной шаг в понимании природной обстановки холодных этапов плейстоцена, в частности, трудно реконструируемых зимних температур, а также в объяснении различий перигляциальных степей и их современных аналогов.
Beetles of the World🪲 — первый жучиный
Исчезнувшие чернотелки Polposipus herculeanus#Tenebrionidae — эндемики острова Фрегат, эти нелетающие жуки вымерли в природе из-за подорванной человеком кормовой базы и завоза на остров крыс. Вид сохранился в культуре.
Beetles of the World🪲 — первый жучиный
Скоро «родится» еще один кандидат биологических наук. Хотя это формальность, по совокупности работ и вкладу в систематику чернотелок #Tenebrionidae довольно непростой подтрибы Blaptina И.А. Чиграй уже давно признанный специалист. Но отзыв на автореферат обязательно напишем.
Усики — пропуск в трусики 🔞
Одиниз первых постов на нашем канале (2022 года), но он хорошо вписывается в тему «Сексуальная жизнь насекомых»
В статье китайских учёных «Precopulatory oral sex contact plays an important role in copulatory success in a cryptic desert beetle» речь идёт о монгольской чернотелке Platyope mongolica Faldermann, 1835 #Coleoptera#Tenebrionidae.
В 2021 был описан интересный случай полового поведения. Полевые и лабораторные исследования показали, что полный цикл спаривания включал четыре этапа: преследование, оральный сексуальный контакт, подготовка к спариванию (самец взбирается на самку), и само спаривание. Оральные ласки самцы проводили верхнечелюстными щупиками. Если оральные ласки не удовлетворяли самку, она уклонялась от спаривания. Оказалось, что чем меньше времени самец тратит на оральные ласки, тем меньше у него шансов на совокупление. Самцы с удалёнными усиками не различали пол партнера, и тогда наблюдались гомосексуальные контакты.
Beetles of the World🪲
Чернотелки #Tenebrionidae как чернокнижники умеют в магию форм и могут стать хоть тарелкой.
Такая затейливая форма характерна, например, видам австралийского рода Helea (на видео Helea scaphiformis) или жукам из совсем другого подсемейства (бывшие мохнатки #Lagriinae) — Cossyphus, представители которого есть и у нас.
Видео нашел и поделился Алексей.
Beetles of the World🪲 — первый жучиный