Re[5]: flat_map done, clang вырывается вперед
От: rg45 СССР  
Дата: 25.12.24 21:18
Оценка:
Здравствуйте, so5team, Вы писали:

S>Да запросто если идет большая серия проверок на наличие ключа в map-е.

S>Например, у нас flat_map<int, std::array<std::byte, 64>>. И нам нужно пробежаться по 100500 значениям ключей, чтобы проверить, какие из них уже есть в словаре.
S>Когда ключи лежат в отдельном векторе, то для кэша процессора такая пробежка будет более щадящей, чем когда и ключ, и значение, лежат парами в одном общем векторе.

Я вот смотрю, flat_map заточена на раздельную работу с двумя контейнерами. И такое действительно иногда полезно. Типа, мы строим-строим, инкапсулируем, а по итогу имеем возможность раздать коллекцию значений отдельно от ключей без дополнительных накладных расходов. Типа, есть класс с инкапсулированной мапой, который умеет что-то там акккумулировать, а наружу выставляет константный аксессор, возвращающий константную ссылку на коллекцию значений.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 25.12.2024 21:27 rg45 . Предыдущая версия . Еще …
Отредактировано 25.12.2024 21:22 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.