我正在努力提高同时使用 Boost Graph Library 和boost::bimap
. 分析表明,大部分时间都花在了内存分配和释放上。使adjacency_list
图形库的类使用boost::fast_pool_allocator
显着提高了性能。大部分剩余内存分配发生在 中boost::bimap
,所以我也想尝试在那里使用自定义分配器。文档说您可以将分配器指定为 bimap 的最后一个模板参数,但它没有说明分配器本身的模板参数应该是什么类型。例如,对于类型X
和Y
,在
boost::bimap<set_of<X>, set_of<Y>, boost::fast_pool_allocator<Z> >
应该填写什么Z
?