Быстрая hash-функция (комментарии)
Это сообщение сгенерировано автоматически.
А чем это лучше вот этого:
inline_ int Hash32(int key) { return key; }
Я знаю, зачем нужны hash функции, но у меня вопрос - в каких ситуациях эта дает более равномерный разброс?
Ну а как насчет критерия рассеивания? Будут ли у нее лучшие характеристики от додавания по модулю 2 или других простых методов? Как на сравнения рассеивания твоей ф-ции и метода деления на простое число? Скорость хеш функции не самый главный критерий.
>Хочу привести одну, проверенную временем и зарекомендовшую себя с лучшей стороны
Хотелось бы услышать более предметные характеристики ну или ссылочку на источник.
функция не моя, я просто разместил объву. я встречал её в нескольких программах, кажется, она даже носит чьё-то имя, но теперь концы подобрать уже малореально.
>А чем это лучше вот этого
случай из жизни : работа с хэш-функцией была узким местом одной из операций. при замене твоего варианта приведённым, при прочих равных условиях общая производительность повысилась на треть.
судя по всему, данная конкретная функция получена когда-то кем-то из эвристических соображений, достаточно наивно с вашей стороны ожидать увидеть в подсказке на форуме разработчиков игр детальный её математический анализ.
Вот здесь вроде есть математическое обоснование:
http://www.concentric.net/~Ttwang/tech/inthash.htm
Конишуа
спасибо за ссылку.
Тема в архиве.