TECH 으로 돌아가기
TECH HACKER NEWS 1주 전 2분 읽기 50 READS

CPU는 빠른데 왜 내 프로그램은 느릴까? '메모리 장벽'의 진실

현대 CPU는 초당 수십억 번 연산하지만, 정작 데이터를 기다리느라 대부분의 시간을 놀고 있습니다. 핵심 원인은 '메모리 장벽(Memory Wall)'입니다. CPU 연산 속도는 수십 년간 폭발적으로 빨라졌지만, 메인 메모리(RAM)의 접근 속도는 그만큼 따라오지 못했습니다. 그 결과 CPU가 RAM에서 데이터를 가져오는 데 수백 사이클을 허비하며, 이 격차를 메우려 L1·L2·L3 캐시 계층이 존재합니다. 캐시에 데이터가 있으면(캐시 히트) 빠르지만, 없으면(캐시 미스) 성능이 급격히 떨어집니다. 그래서 같은 연산량이라도 데이터를 메모리에 어떻게 배치하느냐가 속도를 좌우합니다. 배열을 순차적으로 접근하면 빠르고, 포인터를 따라 여기저기 흩어진 데이터를 읽으면 캐시 미스가 폭증해 느려집니다. 결국 실무에서 성능을 끌어올리는 열쇠는 알고리즘의 복잡도뿐 아니라 '캐시 친화적인 데이터 구조와 접근 패턴'을 설계하는 데 있습니다. CPU 클럭만 믿지 말고 메모리 지역성(locality)을 의식하세요.

SOURCE · HACKER NEWS
원문 전체 보기 → https://prawns.dev/blogs/memory-wall
SHARE
처리 중...