BoostGraphLibraryとの両方を使用するプログラムのパフォーマンスの向上に取り組んでいますboost::bimap
。プロファイリングにより、ほとんどの時間がメモリの割り当てと割り当て解除に費やされていることが明らかになりました。adjacency_list
グラフライブラリのクラスを使用するようにすると、boost::fast_pool_allocator
パフォーマンスが大幅に向上します。残りのメモリ割り当ての大部分はで発生するboost::bimap
ため、そこでカスタムアロケータを使用して実験したいと思いました。ドキュメントには、アロケータをバイマップの最後のテンプレートパラメータとして指定できると記載されていますが、アロケータ自体のテンプレート引数のタイプについては記載されていません。たとえば、タイプX
とY
、
boost::bimap<set_of<X>, set_of<Y>, boost::fast_pool_allocator<Z> >
何を記入する必要がありZ
ますか?