Estructura de arreglos (SoA)
Una disposición de memoria que almacena cada campo en su propio arreglo contiguo (x[], y[], z[]) en vez de un arreglo de estructuras completas, para una iteración vectorizable y amable con la caché.
Lo opuesto es «arreglo de estructuras» (AoS): {x,y,z}[], donde los campos de cada elemento van juntos. SoA lo invierte: x[], y[], z[], cada uno por su cuenta. Cuando se toca un solo campo a lo largo de todos los elementos, SoA lee únicamente las líneas de caché que necesita, y los arreglos planos se vectorizan con limpieza mediante SIMD. AoS, en cambio, desperdicia ancho de banda en campos que nunca se miraron.
Es la columna vertebral del diseño orientado a datos y de cómo las bibliotecas ECS almacenan componentes, a menudo como un conjunto disperso por tipo. La desventaja: reunir todos los campos de un solo elemento dispersa las lecturas por varios arreglos.