Data-oriented design
Способ строить код вокруг того, как данные реально лежат в памяти и читаются, а не вокруг объектов и иерархий, — исходя из прямолинейной посылки, что узкое место — доступ к памяти, а не инструкции.
На современном железе промах кэша стоит сотни тактов, а сами вычисления почти бесплатны. Поэтому данные группируют в параллельные массивы (struct of arrays), чтобы цикл читал только нужные поля, плотно уложенные в кэш-линии, а не скакал по указателям между тяжёлыми объектами.
Майк Эктон (Insomniac Games) чётко сформулировал эту позицию в докладе на GDC 2014 года. Этот образ мысли — двигатель систем сущностей и компонентов, и он находится в открытой оппозиции к наивному объектно-ориентированному подходу.