Skip to content

Commit 5cb6749

Browse files
committed
Bloom filter: making the size prime didn't really help
1 parent 845131b commit 5cb6749

File tree

1 file changed

+1
-23
lines changed

1 file changed

+1
-23
lines changed

src/bloom.h

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,6 @@ inline uint64_t getBit(uint32_t index) {
3131
return 1L << (index & 63);
3232
}
3333

34-
// https://stackoverflow.com/questions/30052316/find-next-prime-number-algorithm
35-
bool isPrime(int number) {
36-
if (number == 2 || number == 3)
37-
return true;
38-
if (number % 2 == 0 || number % 3 == 0)
39-
return false;
40-
int divisor = 6;
41-
while (divisor * divisor - 2 * divisor + 1 <= number) {
42-
if (number % (divisor - 1) == 0)
43-
return false;
44-
if (number % (divisor + 1) == 0)
45-
return false;
46-
divisor += 6;
47-
}
48-
return true;
49-
}
50-
51-
int nextPrime(int a) {
52-
while (!isPrime(++a));
53-
return a;
54-
}
55-
5634
template <typename ItemType, size_t bits_per_item,
5735
typename HashFamily = TwoIndependentMultiplyShift,
5836
int k = (int) ((double) bits_per_item * 0.693147180559945 + 0.5)>
@@ -71,7 +49,7 @@ class BloomFilter {
7149
explicit BloomFilter(const size_t n) : hasher() {
7250
this->size = 0;
7351
this->kk = getBestK(bits_per_item);
74-
this->bitCount = nextPrime(n * bits_per_item);
52+
this->bitCount = n * bits_per_item;
7553
this->arrayLength = (bitCount + 63) / 64;
7654
data = new uint64_t[arrayLength];
7755
std::fill_n(data, arrayLength, 0);

0 commit comments

Comments
 (0)