очень маленькие (до 100 ключей), но функция вызывается очень много раз, переиспользует ли go автоматически коротко-живущие, как описанные выше, данные?
Короткоживущие что ? Куски памяти
да, куски памяти
я, если честно, вопрос не понял.
Переиспользует если везде после инициализации фигурирует указатель на данный обьект. Логично ведь что он никуда не денется из памяти
Так просто не надо делать. Если речь не идет о смартфоне 10-летней давности, или i286, то до 100 просто массив
Если речь идет об упомянутом оьорудовании, то надо вообще как-то иначе решать
а разве нельзя в корне изменить код чтобы оно не возвращало map[int][]string ?
Мне нужно шардировать массив стрингов (ключей) по какому-то числу мэпов
Чего прости делать?
Скорее всего нет
разбить ключи по тем мэпам к которым они относятся
чтобы снизить количество локов
Это. Ну вообще это так себе вариант-то
Какую проблему вы пытаетесь этим решить?
на самом деле каждый шард это маленький пабсаб, и в нем есть map с клиентами, map с подписками, map с топиками под одним локом. Subscribe требует лок на все данные, поэтому, мне кажется, что лучше разбивать на кусочки.
Т.е. шард - это топик такой?
это структура с мэпами(клиенты, топики)
Обсуждают сегодня