AbseilのSwiss Tables:高性能ハッシュテーブルの実装

2025-02-21

Abseilは、`absl::flat_hash_map`などを含む、Swiss Tablesと呼ばれる高性能ハッシュテーブルを提供しています。これらのテーブルは、巧妙なメタデータ設計とSSE命令による最適化されたルックアップにより、パフォーマンスを大幅に向上させます。メタデータは、制御ビットと7ビットのH2ハッシュ値で構成され、候補の一致を迅速に絞り込みます。さらに、Swiss Tablesは不要なメモリ割り当てとコピーを回避し、`emplace`や`insert`操作ではムーブセマンティクスを活用して最適なパフォーマンスを実現します。

開発