170 похожих чатов

Здравствуйте, у меня есть функция, которая возвращает map[int][]string, эти мэпы

очень маленькие (до 100 ключей), но функция вызывается очень много раз, переиспользует ли go автоматически коротко-живущие, как описанные выше, данные?

18 ответов

10 просмотров

Короткоживущие что ? Куски памяти

я, если честно, вопрос не понял.

Roman Ischenko
да, куски памяти

Переиспользует если везде после инициализации фигурирует указатель на данный обьект. Логично ведь что он никуда не денется из памяти

Так просто не надо делать. Если речь не идет о смартфоне 10-летней давности, или i286, то до 100 просто массив

🏳️ Phil Kulin
Так просто не надо делать. Если речь не идет о сма...

Если речь идет об упомянутом оьорудовании, то надо вообще как-то иначе решать

а разве нельзя в корне изменить код чтобы оно не возвращало map[int][]string ?

Roman-Ischenko Автор вопроса
Roman Sharkov
а разве нельзя в корне изменить код чтобы оно не в...

Мне нужно шардировать массив стрингов (ключей) по какому-то числу мэпов

Скорее всего нет

Roman-Ischenko Автор вопроса
🏳️ Phil Kulin
Чего прости делать?

разбить ключи по тем мэпам к которым они относятся

Roman-Ischenko Автор вопроса
Roman Timofeev
Зачем?

чтобы снизить количество локов

Roman Ischenko
чтобы снизить количество локов

Какую проблему вы пытаетесь этим решить?

Roman-Ischenko Автор вопроса
Roman Timofeev
Какую проблему вы пытаетесь этим решить?

на самом деле каждый шард это маленький пабсаб, и в нем есть map с клиентами, map с подписками, map с топиками под одним локом. Subscribe требует лок на все данные, поэтому, мне кажется, что лучше разбивать на кусочки.

Roman-Ischenko Автор вопроса
Roman Timofeev
Т.е. шард - это топик такой?

это структура с мэпами(клиенты, топики)

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
7
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта