CacheFriendly
Cache-friendly is a term used to describe software design and algorithms that are optimized to take advantage of CPU caches in order to improve performance. The aim is to increase data locality so that the processor spends less time waiting for memory and more time performing computations. Cache-friendly code seeks to maximize cache hits across the cache hierarchy (L1, L2, L3) and to minimize cache misses and memory bandwidth bottlenecks.
The underlying idea rests on locality of reference: temporal locality, the reuse of recently accessed data,
Examples and domains where cache-friendly practices matter include numerical linear algebra (such as matrix multiplication with
See also concepts such as temporal locality, spatial locality, cache lines, and cache-oblivious algorithms.