zoukankan      html  css  js  c++  java
  • [Revisit.SolidMCP] Hash Algorithms

    Hash总是免不了的,那么要关注的不过是选择什么样的Hash算法。高深的算法, Piaoger自然是写不出,但怎么着也能找两个比较帅的,口碑比较好的。

    用Google搜索了一下,然后看了Google Sparsh Hash, HyperTable等几个开源库,似乎也就不外乎那么三四种:

    ----------------------------------------------------------------------------

    >> Paul Hsieh's SuperFastHash

    从这厮的名字看来,那肯定是超级快。

    http://www.azillionmonkeys.com/qed/hash.html

    >> MurmurHash3

    这家伙作者似乎已经被Google收编。

    它的速度似乎很快,在HyperTable中是默认的Hasher。

    http://code.google.com/p/smhasher/

    >> Lookup3

    似乎比较牛X,而且在2007年算法还有更新。

    http://burtleburtle.net/bob/hash/doobs.html

    >> Thomas Wang的Integer Hash

    主要是针对Integer Type,在不少开源库中有应用。

    http://www.cris.com/~Ttwang/tech/inthash.htm

    ----------------------------------------------------------------------------

    话说回来,其实SuperFastHarsh、MurmurHash3和Lookup3其实效率都差不了多少,从HyperTable的代码看来,MurmurHash3号称更快一些。

    在Lookup3页面有对这些Hasher的点评,我们能找到更多的专业点评。

    Material:

    http://blog.clawpaws.net/post/2007/04/22/Good-Hash-Functions

    -Piaoger

  • 相关阅读:
    mongodb安装错误以及原理
    animate.css使用
    JavaScript面向对象的方式开发轮播图插件
    数组/对象深拷贝
    JavaScript中数组的方法和字符串方法总结
    远程管理命令
    python+selenium 滑动滚动条的操作
    远程管理命令:
    文件和目录命令二:
    文件和目录命令一:
  • 原文地址:https://www.cnblogs.com/piaoger/p/2049517.html
Copyright © 2011-2022 走看看