MurmurHash.net
1.0.0
Murmur Hash 2 の C# 実装
使用法:
MurmurHash2.Hash("mystring");
MurmurHash2.Hash(byteArray);
466k 単語 (ここから取得したすべての英単語のリスト: https://github.com/dwyl/english-words) での衝突数をテストするための小さなベンチマークを作成しました。衝突数は 22 で、これは私が考えている衝突数です。かなり良い結果。
標準のstring.GetHashCode()
466k の単語リストで48 個の衝突が発生します。
経過時間 (466k 単語リスト上):
ハッシュ | 経過時間 | 衝突の数 |
---|---|---|
マームルハッシュ2 | 104ミリ秒 | 22 |
GetHashCode | 47ミリ秒 | 48 |
1
から999999
までの数字 (郵便番号を思い浮かべてください) の結果は次のとおりです。
ハッシュ | 経過時間 | 衝突の数 |
---|---|---|
マームルハッシュ2 | 234ミリ秒 | 56 |
GetHashCode | 121ミリ秒 | 0 |
ここでの衝突に関してはGetHashCode
方が優れていますが、MurMur は長いテキストに適しています。