MurmurHash.net
1.0.0
Implémentation C# de Murmur Hash 2
Usage:
MurmurHash2.Hash("mystring");
MurmurHash2.Hash(byteArray);
J'ai écrit un petit benchmark pour tester le nombre de collisions sur 466 000 mots (liste de tous les mots anglais tirés d'ici : https://github.com/dwyl/english-words) et le nombre de collisions est de 22, ce que je considère comme un plutôt bon résultat.
string.GetHashCode()
donne 48 collisions sur la liste de 466 000 mots.
Temps écoulé (sur la liste de 466 000 mots) :
Hacher | Temps écoulé | Nombre de collisions |
---|---|---|
MurmureHash2 | 104 ms | 22 |
ObtenirHashCode | 47 ms | 48 |
Sur les nombres de 1
à 999999
(pensez aux codes postaux), les résultats étaient :
Hacher | Temps écoulé | Nombre de collisions |
---|---|---|
MurmureHash2 | 234 ms | 56 |
ObtenirHashCode | 121 ms | 0 |
GetHashCode
est meilleur avec les collisions ici, mais MurMur brille sur les textes plus longs.