Main-memory database systems often use data structures that need pointer chasing, which can stall the CPU when cache misses occur. However, functions involving pointer chasing can be formulated as a coroutine that can suspend voluntarily and resume subsequently, and which facilitate software prefetching. Now, researchers from Simon Fraser University have developed and OSS’ed CoroBase, a main-memory database engine that uses a coroutine-to-transaction paradigm (which models transactions as coroutines) to hide data stalls. CoroBase is specifically designed for read-intensive workloads, although it can match the performance of other systems that are not designed to benefit from software prefetching.