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
Последний кусочек отпускного счастья — перелёт Бангкок – болото, облачные облака и горы.
До сих пор не знаю, зачем "спустила" столько кадров на крылья, если мне за них не платит авиакомпания, но допустим окэй.
В комменты сложу файлы, можно будет забрать для заставки на телефон, а то чего-то давно так не делала.
#35мм
Черепахи, фантастический пляж, на который мы не выходили, потому что прятались в тени местных сосен, зелень перед грозой и машинка после рыболовного магазина. На этом тайская серия всё, нууу, почти 💔
#35мм
С перерывами продолжаю показывать отпуск на плёнку — ладно, есть ещё порох в пороховницах.
Посмотрите на эту нежность, цвет, облака и воду.
Четвёртый кадр кажется через чур чёрным, но это просто нужно вправо смотреть — там не столько облака, там горки!
#35мм
Продолжим вести протокол: фотографировать с лодки на скорости я тоже разучилась. Это островная часть, где на рыб мы только смотрели. Со дна Алексей Сергеич достал мне зелёно-коричневую каури размером с абрикос, а себе местную блесёнку.
#35мм
Вчерашний день был отдан детячьим книжкам в Голосине, поэтому плёночный пост постится сегодня.
Кажется, я разучилась настраивать камеру, солнце выжгло мне мозг. Первая тайская серия, рыболовно-морская, солёная.
Карена с Fujifilm. Поставщик, как всегда, Денис.
#35мм
Недавно отдала Полине и Анотону распечатанные фото, нужно и вам что ли показать эту сборную солянку на #35мм💘
Раз в миллион лет я продолжаю снимать свадьбы и портреты. Чтобы жизнь малиной не казалась, я решила в этот раз вооружиться полностью механической Кареной с механическим Гелиосом, подстраховочной новой Минолтой на автомате (купила новую и сразу устроила стресс-тест машине) и механическим же Киевом-60.
Формат свадьбы был не мой любимый — выкуп, посиделки дома, ЗАГС, роспись, фуршетец в парке — но зато невеста вместо референсов и "хочу вот так" дала полную свободу действий. Ну я и развлекалась в меру своих скромных возможностей, снимая на три камеры и подснимая это всё ещё и на телефон.
Подруга невесты принесла на свадьбу новенький Полароид, и все гости были обеспечены моментальным фото на память. Приходите в комменты, я их покажу. А фотки с Киева покажу в другой раз.
Копалась в папках на компе и нашла неопубликованные книжнофестивальные #35мм👀
Встречайте!
Казань, фестиваль Смены. И нежная чудесная Рената, волонтёр, не раз выручивший меня и Женю (кстати, это Женя меня сфоткала на фоне e=mc²).
Уфа, любимая лягушка Ксюша, вид снизу, потому что я растеклась лужей на адской жаре.
Перелёт Екатеринбург – Петербург и призрак Петра Волцита на фоне музейного домика в Верхней Туре.
В комментариях покажу другие 35мм: меня на зимнем нонфике снимала Ксюша, наши с Ксюшей тени у Двадцать восьмого, кадр сделала Рената в Казани, и ещё Рома из тюменских Измерений мыльницу в Тобольск брал.
Последние плёночные кадры с Кольского #35мм
Тут у нас облако, облизывающее холм.
Речка, впадающая в залив, и рыбак (левый мужик какой-то, но стоял так хорошо).
Лодочка с кранцами из старых покрышек.
И два брата-близнеца: неразличимы на первый взгляд и совсем разные на все последующие. Так и не определилась, какая история нравится мне больше: уравновешивающие рыбаки возвращаются домой или рыбаки-точки за сарайчиком ждут погоды и рыбы.
Какой кадр из двух вам больше нравится и почему?
Первая серия #35мм с Кольского. Взяла свою старушку, от и до механическую камеру Carena, прицепила на неё Юпитер-21М и пошлёпала сплющивать пространство.
Зелень и горковость. Контрастная чернота, автомобильная точка. Лэпины! Снова зелень, горковость, лужица. Разлив воды, дома, ветряки. Гористость, покрытая лесом (мозг упорно говорит, что это мангровые заросли). Снова машинка на дороге! Знаки. Кандалакшинская губа с высоты, город с той же точки.
Мне.
Очень.
Зелено!
Лель, Афина, Вета, Квартет, Бемби.
Сегодня закрыла сезон жидкой воды. В этом году на Фарте больше не выйдем — разоружились, положили мачту, отнесли её в гараж и зачехлили. Впереди уборочные работы, подъём, зачехление корпуса и почти полгода дурной твёрдой воды.
В комментах покажу сегодняшние фото, а эти #35мм с каких-то летних выходных.