{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fast-partitioned-learned-bloom-filter","title":"Fast Partitioned Learned Bloom Filter","arxiv_id":null,"date":"2023-09-21","proceeding":"NeurIPS 2023 11","authors":[],"abstract":"A Bloom filter is a memory-efficient data structure for approximate membership queries used in numerous fields of computer science.\nRecently, learned Bloom filters that achieve better memory efficiency using machine learning models have attracted attention.\nOne such filter, the partitioned learned Bloom filter (PLBF), achieves excellent memory efficiency.\nHowever, PLBF requires a $\\mathcal{O}(N^3k)$ time complexity to construct the data structure, where $N$ and $k$ are the hyperparameters of PLBF.\nOne can improve memory efficiency by increasing $N$, but the construction time becomes extremely long.\nThus, we propose two methods that can reduce the construction time while maintaining the memory efficiency of PLBF.\nFirst, we propose fast PLBF, which can construct the same data structure as PLBF with a smaller time complexity $\\mathcal{O}(N^2k)$.\nSecond, we propose fast PLBF++, which can construct the data structure with even smaller time complexity $\\mathcal{O}(Nk\\log N + Nk^2)$.\nFast PLBF++ does not necessarily construct the same data structure as PLBF.\nStill, it is almost as memory efficient as PLBF, and it is proved that fast PLBF++ has the same data structure as PLBF when the distribution satisfies a certain constraint.\nOur experimental results from real-world datasets show that (i) fast PLBF and fast PLBF++ can construct the data structure up to 233 and 761 times faster than PLBF, (ii) fast PLBF can achieve the same memory efficiency as PLBF, and (iii) fast PLBF++ can achieve almost the same memory efficiency as PLBF.\nThe codes are available at [this https URL](https://github.com/atsukisato/FastPLBF).","url_abs":"https://openreview.net/forum?id=jL2eJxPK88","url_pdf":"https://openreview.net/pdf?id=jL2eJxPK88","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"fast-partitioned-learned-bloom-filter","repo_url":"https://github.com/atsukisato/fastplbf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"bloom","method_name":"BLOOM"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}