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개의 충돌을 제공합니다.
경과 시간(466,000 단어 목록):
해시시 | 경과 시간 | 충돌 횟수 |
---|---|---|
MurmurHash2 | 104ms | 22 |
해시코드 가져오기 | 47ms | 48 |
1
부터 999999
(우편번호를 생각해 보세요)까지의 숫자에 대한 결과는 다음과 같습니다.
해시시 | 경과 시간 | 충돌 횟수 |
---|---|---|
MurmurHash2 | 234ms | 56 |
해시코드 가져오기 | 121ms | 0 |
GetHashCode
충돌이 있는 경우 더 좋지만 MurMur는 더 긴 텍스트에 적합합니다.