Algorytmy i struktury danych · Senior · Pytanie 51 z 75
Dlaczego przechodzenie tablicy 2D wiersz po wierszu jest przyjazne dla cache w układzie jak w C?
- 1Wiersze są zawsze krótsze niż kolumny
- ✓Poprawna odpowiedź: Wiersze są ciągłe, więc odczyty trafiają w te same linie cache
- 3Procesor przewiduje dostęp do wierszy, ale nie do kolumn
Wyjaśnienie
W układzie row-major a[i][j] i a[i][j+1] są sąsiadami. Przechodzenie kolumnami przeskakuje w każdym kroku cały wiersz i chybia cache, co może być kilka razy wolniejsze przy tej samej pracy O(n²).