Заголовок unordered_map со строкой в качестве ключа
Я пытаюсь улучшить производительность программы. Поэтому я использую инструменты профилирования по умолчанию, предоставляемые Visual Studio.
У меня есть это объявление в моем заголовочном файле:
unordered_map<const char*, datad, hash_func, cmp> arguments;
Хэш-функция, которую я использую, представляет собой алгоритм хеширования BKDR, а набор данных представляет собой простое объединение:
union datad
{
long long d;
wchar_t* s;
};
Поэтому, проанализировав производительность, я вижу, что у нас много ЦП на функциях, связанных с этим unordered_map:
В чем проблема? Можете ли вы предложить какие-либо улучшения, которые я могу сделать, чтобы уменьшить накладные расходы карты?
PS: мой тип использования просто построение карты, доступ к значениям по ключу, а также итерации по ним