Информация об изменениях

Сообщение Re[5]: flat_map done, clang вырывается вперед от 25.12.2024 21:18

Изменено 25.12.2024 21:22 rg45

Re[5]: flat_map done, clang вырывается вперед
Здравствуйте, so5team, Вы писали:

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

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

Я вот смотрю, flat_map заточена на раздельную работу с двумя контейнерами. И такое действительно иногда полезно. Типа, мы строим-строим, а по итогу имеем возможность раздать коллекцию значений отдельно от ключей.
Re[5]: flat_map done, clang вырывается вперед
Здравствуйте, so5team, Вы писали:

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

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

Я вот смотрю, flat_map заточена на раздельную работу с двумя контейнерами. И такое действительно иногда полезно. Типа, мы строим-строим, инкапсулируем, а по итогу имеем возможность раздать коллекцию значений отдельно от ключей без дополнительных накладных расходов.