番石榴绽放过滤器hight预计插入后的假阳性百分比

时间:2015-02-19 20:56:32

标签: java guava bloom-filter

我尝试插入大量的long来布隆过滤器并检查它们的错误率很低。构造函数向我保证插入数量的预期百分比,但在所有插入之后,新的预期百分比不同且非常高。

BloomFilter<Long> longBloomFilter = BloomFilter.create(Funnels.longFunnel(), 258112656, Math.pow(10, -8));
for (int i = 0; i < 258112656; i++) {
  longBloomFilter.put((long) i);
}
System.out.println(longBloomFilter.expectedFpp());

打印0.17

我真的不相信,布隆过滤器可以提供如此大的错误率,但为什么前后的期望如此不同呢?

1 个答案:

答案 0 :(得分:1)

我强烈怀疑你使用的是过时版的番石榴。当我使用Guava 18.0运行代码时,我得到1.001370499582369E-8,这是一个非常合理的输出。