먼저 생활 비유
마트 진열대 순서대로 장보기
목록 순서가 매장 동선과 같으면 한 번 지나가며 담지만, 매번 반대편 진열대로 이동하면 오래 걸립니다.
5.2 · 캐시와 지역성
같은 데이터를 계산해도 순회 순서에 따라 왜 속도가 달라질까요?
CPU는 요청한 값 주변을 한꺼번에 가져오므로 연속된 주소를 곧바로 사용하면 가져온 캐시 라인을 낭비하지 않습니다.
먼저 생활 비유
목록 순서가 매장 동선과 같으면 한 번 지나가며 담지만, 매번 반대편 진열대로 이동하면 오래 걸립니다.
컴퓨터 예제로 바꾸기
for (row)
for (col) sum += a[row][col];C 계열의 행 우선 배열은 같은 행의 값이 메모리에 연속되어 캐시 라인을 잘 활용합니다.
지금 일어나는 변화
주소 하나를 읽으려 합니다.
이 그림에서 기억할 한 문장
시간 지역성과 공간 지역성을 살리는 데이터 배치와 순회 순서가 캐시 효율을 높입니다.
현재 상태
30초 확인 문제
연속 배열 순회가 보통 유리한 이유는?
처음 보는 용어 두 개
이 절을 다 읽었다면
시간 지역성과 공간 지역성을 살리는 데이터 배치와 순회 순서가 캐시 효율을 높입니다.