データ局所性
CPU キャッシュを活かすためのメモリ配置。ポインタをたどるより連続した配列を選ぶ。現代の性能はキャッシュミスに左右されるからだ。
CPU は昔から読み出し先のメモリよりずっと速く、キャッシュミスが起きると数百サイクルもの間コアが待たされる。『Game Programming Patterns』のパターンとしてのデータ局所性は、一緒に処理するものをメモリ上でも一緒に置き、取得したキャッシュラインを無駄なく使い切ることを指す。
実際には、あちこちに散らばったオブジェクトへのポインタのリストを、コンポーネントを詰めた配列に置き換えることが多い。これは構造体の配列(SoA)やデータ指向設計の土台となる発想で、Entity Component System が広まった大きな理由でもある。