From 673607f9a7167f4265c43b22ad34f22c2bd3f577 Mon Sep 17 00:00:00 2001 From: Matthias Vallentin Date: Thu, 5 Jun 2014 16:02:25 +0200 Subject: [PATCH] Switch to double hashing. For large k, standard hashing imposes an unnecessary overhead. By switchting to double hashing, we invoke the hash function code at most two times. --- src/probabilistic/bloom-filter.bif | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/probabilistic/bloom-filter.bif b/src/probabilistic/bloom-filter.bif index 26865f160d..3e6b89fa4f 100644 --- a/src/probabilistic/bloom-filter.bif +++ b/src/probabilistic/bloom-filter.bif @@ -44,7 +44,7 @@ function bloomfilter_basic_init%(fp: double, capacity: count, size_t optimal_k = BasicBloomFilter::K(cells, capacity); size_t seed = Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, name->Len()); - const Hasher* h = new DefaultHasher(optimal_k, seed); + const Hasher* h = new DoubleHasher(optimal_k, seed); return new BloomFilterVal(new BasicBloomFilter(h, cells)); %} @@ -84,7 +84,7 @@ function bloomfilter_basic_init2%(k: count, cells: count, size_t seed = Hasher::MakeSeed(name->Len() > 0 ? name->Bytes() : 0, name->Len()); - const Hasher* h = new DefaultHasher(k, seed); + const Hasher* h = new DoubleHasher(k, seed); return new BloomFilterVal(new BasicBloomFilter(h, cells)); %}