Skip to content

Commit d5275a1

Browse files
committed
New: succinct counting blocked Bloom filter
1 parent 7b4758a commit d5275a1

File tree

4 files changed

+381
-6
lines changed

4 files changed

+381
-6
lines changed

src/main/java/org/fastfilter/FilterType.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.fastfilter;
22

33
import org.fastfilter.bloom.BlockedBloom;
4+
import org.fastfilter.bloom.SuccinctCountingBlockedBloom;
45
import org.fastfilter.bloom.Bloom;
56
import org.fastfilter.bloom.CountingBloom;
67
import org.fastfilter.bloom.SuccinctCountingBloom;
@@ -21,10 +22,10 @@
2122
* The list of supported approximate membership implementations.
2223
*/
2324
public enum FilterType {
24-
SUCCINCT_COUNTING_BLOOM {
25+
BLOOM {
2526
@Override
2627
public Filter construct(long[] keys, int setting) {
27-
return SuccinctCountingBloom.construct(keys, setting);
28+
return Bloom.construct(keys, setting);
2829
}
2930
},
3031
COUNTING_BLOOM {
@@ -33,10 +34,10 @@ public Filter construct(long[] keys, int setting) {
3334
return CountingBloom.construct(keys, setting);
3435
}
3536
},
36-
BLOOM {
37+
SUCCINCT_COUNTING_BLOOM {
3738
@Override
3839
public Filter construct(long[] keys, int setting) {
39-
return Bloom.construct(keys, setting);
40+
return SuccinctCountingBloom.construct(keys, setting);
4041
}
4142
},
4243
BLOCKED_BLOOM {
@@ -45,6 +46,12 @@ public Filter construct(long[] keys, int setting) {
4546
return BlockedBloom.construct(keys, setting);
4647
}
4748
},
49+
SUCCINCT_COUNTING_BLOCKED_BLOOM {
50+
@Override
51+
public Filter construct(long[] keys, int setting) {
52+
return SuccinctCountingBlockedBloom.construct(keys, setting);
53+
}
54+
},
4855
XOR_SIMPLE {
4956
@Override
5057
public Filter construct(long[] keys, int setting) {

src/main/java/org/fastfilter/bloom/BlockedBloom.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import org.fastfilter.utils.Hash;
55

66
/**
7-
* A blocked bloom filter. I little bit faster, but needs more space. Not that
8-
* useful beyond about 20 bits per key, as fpp doesn't decreased further.
7+
* A blocked Bloom filter. Compared to a regular Bloom filter, it is little bit
8+
* faster, but needs more space. Not that useful beyond about 20 bits per key,
9+
* as fpp doesn't decreased further.
910
*/
1011
public class BlockedBloom implements Filter {
1112

0 commit comments

Comments
 (0)