Data locality
Laying out data in memory to exploit the CPU cache — contiguous arrays over pointer-chasing — because cache misses dominate modern performance.
A CPU has long been far faster than the memory it reads from; a cache miss costs hundreds of cycles while the core stalls. Data locality, as a pattern in Game Programming Patterns, is about keeping the things processed together also gathered together in memory, so that every cache line fetched actually gets used.
In practice that often means swapping a list of pointers to scattered objects for a tight array of components — exactly the move that structure of arrays and data-oriented design are built on, and a prime reason the entity component system architecture caught on.