Cache-Conscious Design¶
Data structure layout and access patterns determine cache efficiency - organizing data to match access patterns can yield order-of-magnitude performance improvements without algorithmic changes.
Tension Addressed¶
Locality vs. Abstraction
Recognizable As¶
Array-of-structs vs struct-of-arrays decisions, data-oriented design, hot/cold splitting, linear data structures outperforming pointer-heavy alternatives despite worse theoretical complexity.
Canonical Sources¶
Drepper, "What Every Programmer Should Know About Memory" (2007); Mike Acton, "Data-Oriented Design" (2014)
Transfers To¶
Database column stores, game engine entity systems, scientific computing, high-frequency trading systems
A linked list with O(1) insertion can be slower than an array with O(n) insertion for small n due to cache effects. Theoretical complexity ignores the memory hierarchy; practical performance cannot.
Related Concepts¶
- Abstraction - Software Architecture
- Memory Hierarchy - Compute & Memory Foundations