我刚刚尝试了 murmur hash C# 端口...
但我对其表现感到非常失望。它似乎比内置的 C# MD5/SHA1computeHash 方法慢。
调试模式很好,而且在这种模式下杂音速度更快。如果切换到 Release 模式,它会比 SHA1 或 MD5 哈希方法慢。
我找到原因了,应该设置为x64或anycpu而不是x86
这是测试结果。
Release - Target AnyCPU
Murmur Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :**1.787**
bytesPerSecond :1466950195.85898
mbitsPerSecond :1398.99272523783
BuildinSHA Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :**5.956**
bytesPerSecond :440134318.334453
mbitsPerSecond :419.74479516454
Release - Target X86
Murmur Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :10.612
bytesPerSecond :247026008.292499
mbitsPerSecond :235.582359592914
BuildinSHA Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :5.987
bytesPerSecond :437855353.265408
mbitsPerSecond :417.571404710205
Release - Target X64
Murmur Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :1.732
bytesPerSecond :1513533487.29792
mbitsPerSecond :1443.41801385681
BuildinSHA Hash profile...
test Bytes :2621440000
iterations :10000
totalSeconds :5.968
bytesPerSecond :439249329.758713
mbitsPerSecond :418.900804289544
Run Code Online (Sandbox Code Playgroud)
源代码:
https://github.com/arisoyang/Murmur3Hash