Функция по умолчанию - это std :: hash. Интересно, есть ли лучшие хэш-функции для экономии вычислительного времени? для целых ключей, а также для строковых ключей.Существуют ли более быстрые хэш-функции для unordered_map/set в C++?
Я попробовал City Hash из Google как для целых, так и для строковых ключей, но его производительность немного хуже, чем std :: hash.
Вообще говоря, вы можете написать более быструю хэш-функцию, если знаете что-то конкретное о данных, которые вы хешируете. Как глупый пример, если вы имеете дело только с двумя целыми значениями 17 и 535, вы можете сделать их равными 0 и 1 тривиально, и это будет быстрее, чем любая хеш-функция, которая имеет дело с полным диапазоном целочисленных значений. Итак, что особенного в отношении значений, которые вы хешируете? –
Закрытие вопроса, если проблема решена, всегда является хорошей идеей :) –