Cache-, hash-, and space-efficient bloom filters

Felix Putze, Peter Sanders, Johannes Singler
2009 ACM Journal of Experimental Algorithmics  
A Bloom filter is a very compact data structure that supports approximate membership queries on a set, allowing false positives. We propose several new variants of Bloom filters and replacements with similar functionality. All of them have a better cache-efficiency and need less hash bits than regular Bloom filters. Some use SIMD functionality, while the others provide an even better space efficiency. As a consequence, we get a more flexible trade-off between false positive rate,
more » ... ate, spaceefficiency, cache-efficiency, hash-efficiency, and computational effort. We analyze the efficiency of Bloom filters and the proposed replacements in detail, in terms of the false positive rate, the number of expected cachemisses, and the number of required hash bits. We also describe and experimentally evaluate the performance of highly-tuned implementations. For many settings, our alternatives perform better than the methods proposed so far.
doi:10.1145/1498698.1594230 fatcat:vvo2ug5trjhntf7qvmte6aemvi