Leksykon IT › Programowanie › Struktura tablic (SoA)

Struktura tablic (SoA)

Programowanie Svenska → Zaktualizowano: 2026-10-25

Układ pamięci, w którym każde pole leży w osobnej ciągłej tablicy (x[], y[], z[]), a nie w tablicy całych struktur — przyjazny dla pamięci podręcznej i wektoryzacji.

Przeciwieństwem jest „tablica struktur” (AoS): {x,y,z}[], w której pola każdego elementu leżą razem. SoA wywraca to na lewą stronę — x[], y[], z[] każde osobno. Gdy odczytujesz tylko jedno pole we wszystkich elementach, SoA czyta wyłącznie potrzebne linie pamięci podręcznej, a zwykłe tablice czysto się wektoryzują przez SIMD. AoS marnuje natomiast przepustowość na pola, na które nawet nie spojrzałeś.

To podstawa projektowania zorientowanego na dane i sposobu, w jaki biblioteki ECS przechowują komponenty — często jako zbiór rzadki na typ. Wada: pobranie wszystkich pól jednego elementu rozprasza odczyty po kilku tablicach.

← Wróć do leksykonu