연속 배치: std::vector
순차 순회가 캐시 라인을 따라 진행됩니다.
01234567
공간 지역성이 좋아 반복문이 예측 가능하게 움직입니다.
같은 원소 수라도 연속 배치는 한 번 가져온 캐시 라인을 더 많이 재사용하고, 포인터 추적은 매번 다른 위치로 뛸 수 있습니다.
순차 순회가 캐시 라인을 따라 진행됩니다.
공간 지역성이 좋아 반복문이 예측 가능하게 움직입니다.
논리적으로는 다음 원소지만 물리 주소는 흩어질 수 있습니다.
캐시 미스가 많으면 알고리즘보다 메모리 대기가 병목이 됩니다.
캐시 최적화의 첫 질문은 “자료구조 이름”이 아니라 “읽는 순서와 메모리 배치가 가까운가”입니다.