• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Heap 은 메모리의 위치가 어디에 있는지 모른다는 언급을 하셨는데

23.11.01 18:38 작성 조회수 175

1

그러면 CPU가 메모리에서 읽어올 때 하는 캐시에서도 손해를 볼 수 있나요? 아니면 그것도 감안하고 데이터를 캐싱하나요?
c++과는 관련 없는 질문이지만 혹시 답변 가능하시면 감사하겠습니다.

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.11.01

안녕하세요, 답변 도우미 Soobak 입니다.


질문을 읽고, 저도 궁금하여 여러 자료들을 찾아본 후 답변을 드립니다.

힙은 연속적인 메모리에 접근하는 스택과 달리, 공간 지역성이 낮아 말씀하신 것 처럼 캐시 메모리의 효율성에 영향을 미칠 '가능성' 은 존재하지만, 현대 CPU 의 캐시 관리 알고리즘, 데이터 접근 패턴 등의 최적화로 힙에서도 충분히 좋은 캐시 성능을 얻을 수 있다고 합니다.
(하지만, 성능 최적화를 위하여 캐시 효율성을 고려하여 적절한 알고리즘과 자료 구조를 선택하는 것이 좋다고 합니다!)

 

보다 자세한 내용은, cache prefetch, memory allocation cache optimization, dynamic memory caching strategies 등의 키워드로 검색을 해보시면 도움이 되실 것 같습니다!

또한, 교수님께서 운영하시는 다음의 커뮤니티들에서는 수강생 분들 뿐만 아니라, 뛰어난 현직자 분들을 비롯하여 다양한 분들이 계십니다.
해당 커뮤니티들에서 의견을 나누어 보시는 것도 좋은 방법일 것 같습니다.
네이버카페 - 홍정모 연구소 (링크)
디스코드 채널 - 홍정모 연구소 (링크)