1. 首页
  2. 考试认证
  3. 其它
  4. blizzard hash for android 降低暴雪哈希的内存消耗(理论上牺牲碰撞率),千万量级别以内的数据,碰撞率和内存消耗都优于bloom filter

blizzard hash for android 降低暴雪哈希的内存消耗(理论上牺牲碰撞率),千万量级别以内的数据,碰撞率和内存消耗都优于bloom filter

上传者: 2024-08-14 16:43:13上传 ZIP文件 3.75KB 热度 13次

blizzard_hash_for_android 提供了一种有效的方法来降低暴雪哈希的内存消耗,理论上尽管牺牲了碰撞率,但在千万量级别以内的数据情况下,其碰撞率和内存消耗均优于传统的 Bloom Filter。该算法的 node 结点存放了两个关键属性:

  1. nHashA:nHashA 取 byte 的前 7 位(1~127),用于存储 HashString 返回值(long 类型)的低 7 位,这一值主要用于处理第一次碰撞的哈希值。

  2. bExists:bExists 取 byte 的最后 1 位,用以标记某哈希地址是否已被占用。

在实际测试中,当数据量为 2000 条、表长度设置为 2^21(即 2097152)时,所占用的内存大小为 2^21*8(即 16M),且碰撞次数为 0

如果你对暴雪哈希算法的源码感兴趣,可以查看 暴雪哈希算法全部源码。对于更复杂的大数据处理,pwwMap 完美哈希也是一个值得关注的工具,详细信息可以参考 大数据处理利器pwwMap完美哈希

为了进一步深入了解暴雪字符串哈希的具体实现和细节,你还可以下载相关的 暴雪字符串哈希 文件进行学习。

下载地址
用户评论