エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
開発メモ: TCのハッシュ関数を考える
Tokyo Cabinetのハッシュ関数のバリエーションに関する実験。 TCのハッシュ関数の特性 TCのハッシュデー... Tokyo Cabinetのハッシュ関数のバリエーションに関する実験。 TCのハッシュ関数の特性 TCのハッシュデータベースに入れるレコードのキーとしてint型(32ビット)のオブジェクトをそのまま与えると、ハッシュのバケット配列の容量をいくら増やしても衝突率が下がらないというのは事実だ。実際にそういう使い方をしたユーザから、「なんでやねん」と質問やクレームをいただくことがあるわけだが、それに対しては、「TCのハッシュ関数は10進数の文字列に最適化しているので、キーの格納方法を変えてみてね」と答えるようにしている。 どういうことかここで整理してみる。TCのハッシュ関数は非常にナイーブな実装で、擬似コードで示すと以下のようになる。 hash = 19780211 foreach octets_of_data hash = hash * 37 + octet return hash % cap
2014/02/27 リンク