본문 바로가기
반응형
[C++ 성능 최적화 및 고급 테크닉] Day 7: 데이터 로컬리티와 캐시 친화적 코딩 데이터 로컬리티의 중요성데이터 로컬리티는 CPU가 데이터를 더 빠르게 접근할 수 있도록 메모리를 배치하는 방식을 의미합니다. 데이터 로컬리티가 좋으면 캐시 히트율이 높아져 프로그램의 성능이 향상됩니다. 데이터 로컬리티는 시간적 로컬리티와 공간적 로컬리티로 나눌 수 있습니다.시간적 로컬리티 (Temporal Locality): 최근에 접근한 데이터에 다시 접근하는 경향.공간적 로컬리티 (Spatial Locality): 가까운 메모리 주소에 있는 데이터에 접근하는 경향. 캐시 친화적 코딩 기법1. 연속된 메모리 할당연속된 메모리 할당은 배열이나 벡터와 같은 연속된 데이터 구조를 사용하는 것입니다. 이는 공간적 로컬리티를 향상시킵니다. 예제 코드#include #include int main() { c.. 2024. 8. 1.
[C++ 성능 최적화 및 고급 테크닉] Day 4: 캐시 최적화 기법 캐시 최적화의 중요성캐시 최적화는 프로그램의 성능을 극대화하는 데 매우 중요한 역할을 합니다. 캐시 메모리는 CPU가 메인 메모리보다 훨씬 빠르게 접근할 수 있는 작은 크기의 고속 메모리입니다. 데이터 로컬리티를 높여 캐시 히트율을 최대화하면 프로그램의 실행 속도가 크게 향상됩니다. 데이터 로컬리티데이터 로컬리티는 CPU가 데이터를 빠르게 접근할 수 있도록 데이터를 메모리에 배치하는 방법을 의미합니다. 데이터 로컬리티에는 두 가지 유형이 있습니다.시간적 로컬리티 (Temporal Locality): 최근에 접근한 데이터에 다시 접근하는 경향이 있는 경우.공간적 로컬리티 (Spatial Locality): 가까운 메모리 주소에 있는 데이터에 접근하는 경향이 있는 경우. 캐시 최적화 기법1. 연속된 메모리 .. 2024. 8. 1.
반응형