我在一些地方玩了 boost::pool 几次,在我看来我正在用大量的对象“搅动”严重地敲打堆。通常我使用 boost::object_pool
或 boost::pool_alloc
作为 STL 模板参数。然而,结果始终是性能几乎没有变化,或者显着恶化。
我很想知道它有什么成功案例。
我应该在分析输出中寻找哪些可能表明 boost::pool 可能有帮助的东西?
真的很难改进旧的 malloc 吗?
最佳答案
内存池是 imo 最有效的事务处理方式,您可以在其中分配给池,然后在事务完成后,将其转储到遗忘中。真正的 boost 并不是每次分配都会快得多,而是在一个运行时间极长的应用程序中,内存碎片几乎为零。
总的来说,听起来您的应用程序不保证使用内存池
关于c++ - 你有没有通过使用 boost::pool 获得显着的 boost ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473023/