ZZZТоесть по вашему допиливать дополнительный сервис - не херня?
чтобы он не делал херни и запилил отдельный сервис, обслуживающий эти данные
А отдавать он эти данные кудою будет остальным модулям? Сокеты? Вы не заметили что скорость обмена с ОЗУ напрямую в сотни раз проще и быстрее? БД? В тысячи раз медленнее чем ОЗУ. А синхронизация? Откуда остальные модули узнают что мой “сервис” изменил данные “х”? Или приклеим этому сервису ещё один сервис, который через вспомогательный сервис будет рассылать уведомления? Очень “надёжно”
В случае с несколькими процессами подход с SharedMemory намного лучше чем хранить общие данные в БД, к которым нужен моментальный доступ с синхронизацией. Поэтому вы совсем неоправданно так возвышаете себя перед своим знакомым.
JOHN_16Если мы данные получаем из другого процесса, уже особо не важно где конкретно они хранятся. Обмен в 99% случаев идёт через механизмы, которые в тысячи раз медленнее доступа к ОЗУ. К тому же получаем дополнительный гемор с синхронизацией.
мм а БД в ОЗУ не подойдут? Из реляционных SQLite умеет так
JOHN_16Вооот. Это уже ближе к истине. Может есть ссылка?
Если вы прям так хотите обойти GIL, то для это воспользуйтесь распределением за счет процессов, делается это модулем multiprocessing, в доках и примеры передачи между процессами объектов.
Спасибо.