HackerPapers

arXiv:2201.01174cs.DS

Binary Fuse Filters: Fast and Smaller Than Xor Filters

Thomas Mueller Graf, Daniel Lemire

Abstract

Bloom and cuckoo filters provide fast approximate set membership while using little memory. Engineers use them to avoid expensive disk and network accesses. The recently introduced xor filters can be faster and smaller than Bloom and cuckoo filters. The xor filters are within 23% of the theoretical lower bound in storage as opposed to 44% for Bloom filters. Inspired by Dietzfelbinger and Walzer, we build probabilistic filters -- called binary fuse filters -- that are within 13% of the storage lower bound -- without sacrificing query speed. As an additional benefit, the construction of the new binary fuse filters can be more than twice as fast as the construction of xor filters. By slightly sacrificing query speed, we further reduce storage to within 8% of the lower bound. We compare the performance against a wide range of competitive alternatives such as Bloom filters, blocked Bloom filters, vector quotient filters, cuckoo filters, and the recent ribbon filters. Our experiments suggest that binary fuse filters are superior to xor filters.

arXiv comments
Journal reference
Journal of Experimental Algorithmics 27, 2022
DOI
doi:10.1145/3510449
Subjects
cs.DSData Structures and Algorithms

On Hacker News

Linked by 3 identifiable commenters in 3 comments across 3 threads, from Oct 2022 to May 2025. Found in 3 HN submissions from Jan 2022 to Jan 2026. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments3 threads

  1. Bloom Filters 1 comment
    • > check the literature for various alternatives that are better in specific situations For direct replacements, see Xor(+)-Filters: https://arxiv.org/abs/1912.08258 and the subsequent evolution into Binary Fuse Filters: https://arxiv.org/abs/2201.01174

      f_devdView on HNParent context

    • No, it's not the L1. It's the L2/L3/LLC. With a regular Bloom filter (not blocked one), each of the k memory accesses results in a L2/L3/LLC cache miss, if the Bloom filter doesn't fit in the cache. And here, it doesn't. With a blocked Bloom filter, there is still a cache miss…

      thomasmgView on HNParent context

    • Similarly, there is Binary Fuse Filters (https://arxiv.org/abs/2201.01174) [1] The paper includes comparisons with Ribbon filter [1] Graf, T. M., & Lemire, D. (2022). Binary Fuse Filters: Fast and Smaller Than Xor Filters. arXiv. https://doi.org/10.1145/3510449

      GenboxView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.