태그: SoA
4편
-
C++ 데이터 지향 설계 실전 | SoA·캐시 친화적 레이아웃·ECS·핫/콜드 분리 가이드
10만 개 엔티티 업데이트가 60fps를 못 넘는 문제를 AoS에서 SoA로 바꾸는 예제로 풀고, 캐시 친화적 레이아웃, SoA 기반 ECS, 핫/콜드 데이터 분리를 C++ 코드로 보여줍니다. SoA로 바꿨는데 오히려 느려지는 경우도 설명합니다.
-
C++ 캐시 최적화 실전 | 캐시 라인·프리페치·False Sharing·타일링
C++ CPU 캐시 최적화: 캐시 라인과 메모리 계층, 행 우선 순회와 타일링, 프리페치를 쓸 때와 쓰지 말아야 할 때, False Sharing 진단(perf c2c)과 캐시 라인 정렬, conflict miss까지 측정 중심으로 다룹니다. SoA·ECS 같은 레이아웃 재설계는 데이터 지향 설계 글에서 다룹니다.
-
C++ 캐시 친화 코드: AoS vs SoA, 데이터 지향 설계, False Sharing
C++ 캐시 친화 코드 작성법을 정리합니다. 행 우선 순회, 구조체 패딩과 핫/콜드 분리, AoS vs SoA가 실제로 이득인 경우, false sharing과 Apple Silicon의 128바이트 캐시 라인, 소프트웨어 프리페치, perf stat·perf c2c로 측정하는 법까지 다룹니다.
-
C++ 캐시 효율적인 코드: 데이터 지향 설계 가이드
데이터 지향 설계와 캐시 라인 정렬·패딩으로 메모리 접근 비용을 줄이는 방법을 다룹니다. AoS와 SoA의 차이, 거짓 공유를 alignas로 없애는 법, perf로 캐시 미스를 확인하는 법, SoA로 바꿀 때 생기는 인덱스 불일치 같은 실수를 예제로 설명합니다.