Bloom filters are used to quickly check whether an element
is part of a set.
Xor filters and binary fuse filters are faster and more concise
alternative to Bloom filters.
Furthermore, unlike Bloom filters, xor and binary fuse filters are
naturally compressible using standard techniques (gzip, zstd, etc.).
They are also smaller than cuckoo filters. They are used in production systems.
There is also a C++ implementation with a benchmark suite, comparing these filters against Bloom and Ribbon filter implementations:
Does anyone have experience with these types of filters and would expect that they indeed allow more efficient access and more compact representation than Bloom and/or Ribbon filters? If they are indeed better (as claimed), they would seem like a natural fit for a new RocksDB FilterPolicy implementation.