列挙型配列:効率的なデータ処理のための新しいデータ構造
2024-12-21
この記事では、「列挙型配列」(EoA) と呼ばれるデータ構造を紹介しています。これは一般的な「構造体配列」(SoA) と似ていますが、核となる部分に列挙型を使用します。EoA は複数の列挙値を配列にまとめて、単一のタグで配列の型を識別することで、メモリ使用量と分岐予測のオーバーヘッドを削減します。これにより、データ処理の効率が向上し、特に SIMD 最適化に効果的です。この記事では、データベースシステム TigerBeetle を例に、EoA がどのようにバッチ処理で効果を発揮し、制御プレーンとデータプレーンを効率的に分離することで、大幅なパフォーマンス向上を実現するかを説明しています。