list、map、multi_map などのノードベースのコンテナーに最適なアロケーターは何ですか? boost::unordered_map<std::array<char, 32>, int>
400 万件のエントリがあります。(パフォーマンスのために) 400 万の個別の割り当ては避ける必要があります。
理想的には、アロケーターは複数の (非常に) 大きなチャンクを割り当て、それらをノードごとのオーバーヘッドが 0 のノードに分割します。空きノードは追跡する必要がありますが、チャンクはプール全体が破棄またはリセットされるまで解放する必要はありません。プールは (パフォーマンスのために) スレッドセーフであってはなりません。
自分で書いてみることもできますが、車輪の再発明は好きではありません。ノード側を事前に知らないことも問題のようです。
ブーストにはプールがありますが、シングルトンの使用しか提供していないようです。