那种Hash算法是最好的?

来源:互联网 发布:网络图片可爱搞笑 编辑:程序博客网 时间:2024/05/17 02:55


CityHash和SpookyHash输出不仅仅有64位,但是对于一个HashTable来说,32位的输出已经足够了。其他应用有可能需要128位或者256位。

 

假如你使用32位,MurmurHash 看起来是肯定是最好的,因为他是唯一一个速度优于lookup3的。32位的机器可能和运行City和Spooky,但是他更慢,因为64位的与之竞争。

 

在一个64位的机器上,很难说那个最好,没有更近一步的标准。我自己更倾向于Spooky而不是City因为City 依赖crc32指令加速,crc32不是所有平台都支持。

 

结论,Murmurhash依然开起来是最好的选择,假如你需要32位或者对其。CityHash和SpookyHash看起来更快在在64位机器上。但是我认为他们针对于64位平台,因为我不知道其他64位平台是否允许未对齐的读取。

原创粉丝点击