[Mew-dist 09778] Re: hash on Emacs (toward threading)
Shigeya Suzuki
shigeya at example.com
1999年 7月 20日 (火) 00:18:23 JST
ごとうさんが、すでに書かれていますが、一応…
>>>>> "shigeya" == Shigeya Suzuki <shigeya at example.com> writes:
shigeya> 結局、hash のキーに当たる値から、キーにhash関数を適用したときに、適当
shigeya> に値が分散するようなhash関数が良いわけで、むやみにbucket sizeを多くし
shigeya> ても、hash関数自体が対応するものでなければ意味無いでしょう。適度にばら
shigeya> けていて、かつ、範囲がコンパクトな方が良いでしょう。
一つ言い忘れていた…
hash関数に対して適当でない bucket size を選ぶと、使われるbucket が片寄
るので、かえって逆効果のこともあります。
prime選ぶのが基本だったと思うけれど、先の関数だと、大きい prime を
bucket sizeに選ぶと、短い文字列の場合に片寄る可能性がある。1511 だと2〜
3文字あれば、うまくバラける。なので、genericな文字列としては、わりと適
切な値な気がするなぁ。
shigeya
Mew-dist メーリングリストの案内