【问题标题】:What is a "fast" hash function for a bloom filter?布隆过滤器的“快速”哈希函数是什么?
【发布时间】:2014-01-26 07:38:45
【问题描述】:

假设我正在研究和调整布隆过滤器的哈希函数,使用可能被广泛接受为“快速”的函数计算哈希所需的最大周期数是多少?

【问题讨论】:

    标签: hash bloom-filter


    【解决方案1】:

    这取决于你想做什么。

    如果您使用布隆过滤器来避免磁盘 I/O,那么在散列函数上花费更多时间可能是有意义的,这样可以尽可能减少散列冲突。例如,布隆过滤器用于避免log structured merge tree 的磁盘 I/O。通常使用cryptographically secure hash function 是没有意义的,但使用类似的东西,例如xxhashMurmurHash

    如果您想使用布隆过滤器来避免内存中查找,那么您可能想使用更快的哈希函数,例如只对输入进行 XOR,或者使用 Fletcher checksum

    关于快速和慢速哈希函数的优缺点的很好的解释,以及一些测试,are available here

    【讨论】:

    • 一般来说,我打算使用布隆过滤器来管理输入和相关的“操作”,一般来说与磁盘或存储无关,15/20 循环散列函数是什么?快速地 ?慢?
    • 你的意思是每个哈希有 15 到 20 个周期吗?那没关系。还是每字节 15 到 20 个周期?在我看来,这会变慢。
    • 每个哈希值;什么会更好?
    • 每个哈希 15 到 20 个周期是可以的;尝试进一步加快速度可能没有意义。
    猜你喜欢
    • 2011-09-30
    • 2014-11-10
    • 1970-01-01
    • 2018-07-21
    • 2012-08-10
    • 1970-01-01
    • 2019-04-27
    • 2010-10-14
    • 2012-03-03
    相关资源
    最近更新 更多