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
ДЕНЬ ГИС И КАРТОГРАФИЧЕСКИЕ ПРОЕКЦИИ🎉
Каждый год в среду третьей недели ноября отмечают Международный день ГИС — отличный повод вспомнить об одной из самых важных тем при работе с пространственными данными: о картографических проекциях🌐
Я сделала небольшой сайт, на котором можно посмотреть на разнообразие проекций, узнать об их типах и свойствах, а также проверить себя с помощью небольшой викторины
Другие посты на эту тему:
🟣Как подобрать подходящую проекцию
🟡Проекции и системы координат на Python
🔵Веб-Меркатор ( и почему не стоит его использовать)
🟢Местные системы координат
P.S
Сайт вдохновлён Map Projections Explorer и желанием поиграть с библиотекой d3.js. Написан на React + TypeScript
P.P.S.
Сегодня 19-й день #30DayMapChallenge, посвящённый картографическим проекциям!
🌎🕊️ GIS_AND_PEACE
#30DayMapChallenge | В 2023 году команда NextGIS впервые приняла участие в 30-дневном ноябрьском картографическом челлендже. Нам удалось покрыть все дни, и теперь предлагаем вам ознакомиться с нашими картами.
ДЕНЬ ГИС И КАРТОГРАФИЧЕСКИЕ ПРОЕКЦИИ🎉
Каждый год в среду третьей недели ноября отмечают Международный день ГИС — отличный повод вспомнить об одной из самых важных тем при работе с пространственными данными: о картографических проекциях🌐
Я сделала небольшой сайт, на котором можно посмотреть на разнообразие проекций, узнать об их типах и свойствах, а также проверить себя с помощью небольшой викторины
Другие посты на эту тему:
🟣Как подобрать подходящую проекцию
🟡Проекции и системы координат на Python
🔵Веб-Меркатор ( и почему не стоит его использовать)
🟢Местные системы координат
P.S
Сайт вдохновлён Map Projections Explorer и желанием поиграть с библиотекой d3.js. Написан на React + TypeScript
P.P.S.
Сегодня 19-й день #30DayMapChallenge, посвящённый картографическим проекциям!
🌎🕊️ GIS_AND_PEACE
Увидел у Станислава Казакова пост про красивые карты в рамках #30daymapchallenge.
Понравилась карта рельефа острова Тайвань в виде "диаграммы горизонта" и записал урок, как подобную карту построить в QGIS.
Подобную карту можно сделать 2 путями:
1) с помощью стилей и генератора геометрии
2) инструментами геообработки.
В уроке покажу второй вариант. Будет полезно для понимания «магии» геообработки.
ДЕНЬ ГИС И КАРТОГРАФИЧЕСКИЕ ПРОЕКЦИИ🎉
Каждый год в среду третьей недели ноября отмечают Международный день ГИС — отличный повод вспомнить об одной из самых важных тем при работе с пространственными данными: о картографических проекциях🌐
Я сделала небольшой сайт, на котором можно посмотреть на разнообразие проекций, узнать об их типах и свойствах, а также проверить себя с помощью небольшой викторины
Другие посты на эту тему:
🟣Как подобрать подходящую проекцию
🟡Проекции и системы координат на Python
🔵Веб-Меркатор ( и почему не стоит его использовать)
🟢Местные системы координат
P.S
Сайт вдохновлён Map Projections Explorer и желанием поиграть с библиотекой d3.js. Написан на React + TypeScript
P.P.S.
Сегодня 19-й день #30DayMapChallenge, посвящённый картографическим проекциям!
🌎🕊️ GIS_AND_PEACE
Наступил ноябрь, а это значит, что наш отдел снова принимает вызов #30DayMapChallenge. Каждый день в течение месяца мы будем создавать и публиковать карты на самые разные темы.
Тема первого ноября — точки. Мы выбрали тему кикшеринга (аренды самокатов) в России. Чтобы быстро нанести города на карту, использовали геокодирование. Этот инструмент мгновенно преобразует названия и адреса в географические координаты, что сильно ускоряет работу с точечными объектами. Геокодирование существенно экономит картографам время.
Следите за новыми картами по хэштегу #30DayMapChallenge!
Тема 30 — финальная карта.
Заключительное испытание — работа на свободную тему. Завершаем наше участие в ежегодном картографическом проекте #30DayMapChallenge визуализацией количества пассажиров, вошедших на станции метро в 3 квартале 2024 года.
Комсомольская — 8,37 млн
Курская – 5,83 млн
Китай-город — 5,26 млн
Охотный Ряд — 4,59 млн
Маяковская — 3,05 млн
Савёловская — 2,77 млн
Смоленская — 2,5 млн
Баррикадная — 2,21 млн
Марьина Роща — 2,14 млн
Марксистская — 1,84 млн
Задумка и исполнение - Николай Киц.
Тема 29 — Overture Maps Foundation.
OMF это новый источник открытых геопространственных данных. Он включает в себя информацию и геометрию OpenStreetMap, Esri, Google Open Buildings, Daylight Map Distribution; ESA WorldCoverMeta*, Microsoft и других источников. База совсем свежая и пока не отличается полнотой атрибутивных данных, но мы надеемся на системные обновления! Охват и геометрия — вот основные преимущиства данных OMF.
В данной карте мы решили продемонстрировать точность и изящность этих данных, а также показать самые фотогеничные площади центра Санкт-Петербурга.
Автор работы - Настя Леснова.
#30DayMapChallenge
Тема 28 - голубая планета.
Для этой темы вспомнили карту о Волге и ее притоках. Волга - самая длинная река в Европе, берёт начало на Валдайской возвышенности и впадает в Каспийское море. Устье реки лежит на 28 метров ниже уровня моря. Эта протяженная и полноводная река во времена Киевской Руси становится одним из трех великих торговых речных путей. Благодаря этой водной магистрали активно развивались города и многие из них стали крупнейшими культурными и промышленными центрами.
На берегах Волги располагаются четыре города-миллионника: Нижний Новгород, Казань, Самара, Волгоград (на 1 января 2024).
#30DayMapChallenge
Тема 27 — микрокартографирование, отображение объектов малого размера с высоким уровнем детализации и точности.
Подошли к задаче буквально и картографировали кристалл процессора Baikal S, произведённого на тайваньской фабрике TSMC.
На кристалле расположены 12 процессорных кластеров, каждый из которых в своей структуре имеет 4 ядра ARM Cortex A75 и кэш L3. Каждое ядро собственный L2 кэш и кэш L1.
Автор - Николай Киц.
#30DayMapChallenge
Тема 26 — проекции.
Картографические проекции — это математические методы, которые позволяют перейти от географических координат (на глобусе) к плоским координатам (на плоскости). Земля имеет форму, близкую к эллипсоиду, и её нельзя идеально изобразить на плоскости. Любая картографическая проекция искажает площади, углы, расстояния или все параметры вместе, но в меньшей степени.
Чтобы отображать разные территории на карте с наименьшими искажениями существует множество проекций. Проекцию выбирают в зависимости от размера показываемой территории и её расположения.
С помощью нашего ПО Overglobe показали переход от глобуса к разным типам проекций.
Цилиндрическая проекция хорошо подходит для изображения экваториальных областей.
Коническая проекция полезна при изображении территорий в средних широтах протяжённых по долготе.
Проекция Бонне — псевдоконическая проекция, отображающая земной эллипсоид в форме сердца, она также классифицируется как «кардиоидная» проекция.
Автор работы - Николай Киц.
#30DayMapChallenge
Тема 25 - тепло.
Сегодняшнюю тему решили визуализировать на основе нашего инструмента - Overglobe.
Температура воздуха - один из основных показателей атмосферы. Именно на нее мы ориентируемся при просмотре прогноза погоды и выборе одежды. На днях в Москве установились стабильные минусовые температуры, пришла климатическая зима.
Карту для челленджа подготовила Виктория Чалова.
#30DayMapChallenge