Accelerating Map Multi-Lookup with Coroutines

1 · Kyle Dotterrer · Sept. 1, 2020, midnight
In this post we’ll explore an approach to using C++20 coroutines to hide memory stall latency when performing bulk lookup operations on a data structure that exceeds the size of last-level cache. All of the code associated with this post is available on Github. Acknowledgements My interest in this topic was sparked by Gor Nishanov’s presentation at CppCon 2018: Nano-Coroutines to the Rescue!. In that presentation, Gor walks through the implementation of a binary search algorithm that utilizes co...