C ++最適化クックブックで、std :: list、std :: set、std :: multi_set、std :: map、e std::multi_mapなどのSTLコンテナーの標準アロケータをよりパフォーマンスの高いものに置き換えることができることを読みました。ブロックアロケータ。
ブロックアロケータは、パフォーマンスが高く、断片化が少なく、データキャッシングが効率的です。
私はウェブ上で、標準よりも速いと主張するFSBAllocatorを見つけました。 http://warp.povusers.org/FSBAllocator/
std :: mapで試してみたところ、確かに速いようですが、私の質問は、STLの実装が特定のアロケータよりも遅くなる可能性と、標準よりも別のアロケータの欠点は何であるかということです。移植性と堅牢性の両方の?私のコードは、さまざまなアーキテクチャ(win32、osx、linux)でコンパイルする必要があります。誰かがその種の固定サイズのブロックアロケータを使った経験がありますか?