DeepAI AI Chat
Log In Sign Up

Xor Filters: Faster and Smaller Than Bloom and Cuckoo Filters

12/17/2019
by   Thomas Mueller Graf, et al.
0

The Bloom filter provides fast approximate set membership while using little memory. Engineers often use these filters to avoid slow operations such as disk or network accesses. As an alternative, a cuckoo filter may need less space than a Bloom filter and it is faster. Chazelle et al. proposed a generalization of the Bloom filter called the Bloomier filter. Dietzfelbinger and Pagh described a variation on the Bloomier filter that can be used effectively for approximate membership queries. It has never been tested empirically, to our knowledge. We review an efficient implementation of their approach, which we call the xor filter. We find that xor filters can be faster than Bloom and cuckoo filters while using less memory. We further show that a more compact version of xor filters (xor+) can use even less space than highly compact alternatives (e.g., Golomb-compressed sequences) while providing speeds competitive with Bloom filters.

READ FULL TEXT

page 1

page 2

page 3

page 4

01/04/2022

Binary Fuse Filters: Fast and Smaller Than Xor Filters

Bloom and cuckoo filters provide fast approximate set membership while u...
05/05/2020

Conditional Cuckoo Filters

Bloom filters, cuckoo filters, and other approximate set membership sket...
12/18/2022

High-Performance Filters For GPUs

Filters approximately store a set of items while trading off accuracy fo...
05/03/2023

Exponential contractions and robustness for approximate Wonham filters

We consider the problem of estimating the state of a continuous-time Mar...
06/05/2023

Fast Partitioned Learned Bloom Filter

A Bloom filter is a memory-efficient data structure for approximate memb...
01/09/2020

Age-Partitioned Bloom Filters

Bloom filters (BF) are widely used for approximate membership queries ov...
03/03/2021

Ribbon filter: practically smaller than Bloom and Xor

Filter data structures over-approximate a set of hashable keys, i.e. set...

Code Repositories

xorfilter_cpp

Bloom filter alternative (C++)


view repo

xorfilter_cpp

Bloom filter alternative (C++)


view repo