IT-lexikon › Programmering › Struktur av arrayer (SoA)

Struktur av arrayer (SoA)

Programmering In English → Uppdaterad: 2026-10-25

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 band­bredd 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.

← Tillbaka till lexikonet