Progettazione orientata ai dati (data-oriented design)
Un modo di strutturare il codice attorno a come i dati sono realmente disposti in memoria e letti, anziché attorno a oggetti e gerarchie, partendo dalla premessa brusca che il collo di bottiglia sia l'accesso alla memoria, non le istruzioni.
Sull'hardware moderno un cache miss costa centinaia di cicli mentre il calcolo è quasi gratuito. Si raggruppano quindi i dati in array paralleli (struct of arrays) in modo che un ciclo legga solo i campi necessari, compattati nelle cache line, invece di rimbalzare tramite puntatori tra oggetti voluminosi.
Mike Acton (Insomniac Games) fissò la posizione nel suo intervento al GDC del 2014. Questa mentalità è il motore degli entity component system e si pone in aperta opposizione all'orientamento agli oggetti ingenuo.