Struktur av arrayer (SoA)
En minneslayout som lagrar varje fält i en egen sammanhängande array (x[], y[], z[]) i stället för en array av hela strukturer, för cachevänlig och vektoriserbar iteration.
Motsatsen är "array av strukturer" (AoS): {x,y,z}[], där varje elements fält ligger tillsammans. SoA vänder på det — x[], y[], z[] var för sig. Ska man bara röra ett fält över alla element läser SoA bara de cacherader som behövs, och raka arrayer vektoriserar rent med SIMD. AoS slösar däremot bandbredd på fält man inte använder.
Det är ryggraden i dataorienterad design och i hur ECS-bibliotek lagrar komponenter — ofta i en gles mängd per typ. Avigsidan: att plocka alla fält ur ett enskilt element sprider läsningarna över flera arrayer.