Здравствуйте, uzhas, Вы писали:
U>можно почитать тут: http://stackoverflow.com/questions/1145217/why-should-hash-functions-use-a-prime-number-modulus
U>коротко — если хеш функция хорошая, то неважно сколько корзин (то есть степень двойки оптимальна, ибо по модулю быстро считается)
U>если же хеш функция "не очень", то лучше сверху полирнуть простым модулем
Как бы ещё узнать, хорошая ли хеш функция.
Допустим, я использую как ключи целые числа, реже строки, ещё реже — хендлы и указатели.
Для всего этого есть стандартная хеш функция.
С одной стороны, логично предположить, что стандартная реализация хеш таблицы рассчитана на работу со стандартной же хеш функцией на обычных данных.
С другой стороны, на грабли реализаций в VS 2012 того, что в boost работало хорошо, уже наступал:
[VC2012] проблема с std::this_thread::get_id()
VS 2012 call_once is broken
Вот и сомнения, может и в этом случае лучше старый добрый boost взять