Cache-Friendly Search Trees; or, In Which Everything Beats std::set
Jeffrey Barratt, Brian Zhang

TL;DR
This paper explores cache-oblivious search trees, demonstrating their practical advantages over std::set and B-trees in modern hardware by emphasizing cache efficiency for ordered dictionaries.
Contribution
It provides a comprehensive overview of cache-oblivious data structures and presents empirical results showing their superior cache performance compared to traditional structures.
Findings
Cache-oblivious search trees outperform std::set in cache efficiency.
Empirical results show improved performance of cache-oblivious structures on modern hardware.
Cache-oblivious data structures are practical and beneficial for real-world applications.
Abstract
While a lot of work in theoretical computer science has gone into optimizing the runtime and space usage of data structures, such work very often neglects a very important component of modern computers: the cache. In doing so, very often, data structures are developed that achieve theoretically-good runtimes but are slow in practice due to a large number of cache misses. In 1999, Frigo et al. introduced the notion of a cache-oblivious algorithm: an algorithm that uses the cache to its advantage, regardless of the size or structure of said cache. Since then, various authors have designed cache-oblivious algorithms and data structures for problems from matrix multiplication to array sorting. We focus in this work on cache-oblivious search trees; i.e. implementing an ordered dictionary in a cache-friendly manner. We will start by presenting an overview of cache-oblivious data structures,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsOptimization and Search Problems · Complexity and Algorithms in Graphs · Algorithms and Data Compression
