열거형 배열: 효율적인 데이터 처리를 위한 새로운 데이터 구조
2024-12-21
이 글에서는 일반적인 "구조체 배열"(SoA)과 유사하지만 핵심에 열거형을 사용하는 "열거형 배열"(EoA)이라는 데이터 구조를 소개합니다. EoA는 여러 열거형 값을 배열로 묶고, 단일 태그로 배열의 유형을 식별하여 메모리 사용량과 분기 예측 오버헤드를 줄입니다. 이를 통해 데이터 처리 효율이 향상되고, 특히 SIMD 최적화에 효과적입니다. 이 글에서는 데이터베이스 시스템 TigerBeetle을 예로 들어 EoA가 배치 처리에서 어떻게 효과를 발휘하고, 제어 플레인과 데이터 플레인을 효율적으로 분리하여 성능을 크게 향상시키는지 설명합니다.