태그: False Sharing
4편
-
C++ 캐시 최적화 실전 | 캐시 라인·프리페치·False Sharing·타일링
C++ CPU 캐시 최적화: 캐시 라인과 메모리 계층, 행 우선 순회와 타일링, 프리페치를 쓸 때와 쓰지 말아야 할 때, False Sharing 진단(perf c2c)과 캐시 라인 정렬, conflict miss까지 측정 중심으로 다룹니다. SoA·ECS 같은 레이아웃 재설계는 데이터 지향 설계 글에서 다룹니다.
-
C++ 메모리 정렬: Alignment·Padding과 False Sharing이 성능에 미치는 영향
C++ 구조체에 패딩이 생기는 이유와 멤버 순서로 크기를 줄이는 방법, alignas·alignof 사용법, pragma pack으로 패딩을 없앨 때의 위험, 캐시 라인 정렬로 멀티스레드 카운터의 False Sharing을 막는 방법을 다룹니다.
-
C++ 캐시 친화 코드: AoS vs SoA, 데이터 지향 설계, False Sharing
C++ 캐시 친화 코드 작성법을 정리합니다. 행 우선 순회, 구조체 패딩과 핫/콜드 분리, AoS vs SoA가 실제로 이득인 경우, false sharing과 Apple Silicon의 128바이트 캐시 라인, 소프트웨어 프리페치, perf stat·perf c2c로 측정하는 법까지 다룹니다.
-
C++ 캐시 히트(Cache Hit)를 높이는 메모리 정렬과 패딩 | False Sharing 해결
스레드를 늘렸는데 오히려 느려지는 원인인 false sharing을 캐시 라인 구조로 설명하고, alignas로 카운터를 캐시 라인 단위로 분리하는 방법을 보여줍니다. 구조체 패딩이 sizeof를 키우는 이유, 멤버 순서 최적화, AoS와 SoA 비교도 다룹니다.