c++ 你是否通过使用boost :: pool获得了显着的加速?

我曾经在boost :: pool中玩了几次,在我看来我正在用很多对象“churn”严重锤击堆。通常我使用boost :: object_pool或boost :: pool_alloc作为STL模板参数。然而,结果总是表明性能几乎没有变化,或者显着恶化。

我很想知道它有任何成功的故事。

我应该在分析输出中寻找什么样的东西,这可能表明boost :: pool可能会有所帮助?

实际上很难改进好的旧malloc吗?

最佳答案
内存池对于事务样式处理是最有效的imo,您可以在其中分配到池,然后在事务完成时,将其转储为遗忘。真正的加速并不是每个分配都会快得多,因为在一个运行时间非常长的应用程序中,你将几乎没有内存碎片。

在排序中,听起来您的应用程序不保证使用内存池

转载注明原文:c++ 你是否通过使用boost :: pool获得了显着的加速? - 代码日志