什么是基于节点的容器(如 list、map 和 multi_map)的最佳分配器?我有boost::unordered_map<std::array<char, 32>, int>
400 万个条目。应避免 400 万次单独分配(出于性能考虑)。
理想情况下,分配器将分配多个(非常)大块并将它们划分为每个节点开销为 0 的节点。应该跟踪空闲节点,但在整个池被破坏或重置之前不需要释放块。池不应该是线程安全的(为了性能)。
我可以尝试自己写,但我不喜欢重新发明轮子。事先不知道节点端似乎也有问题。
Boost 有 Pool,但它似乎只提供单例使用。