c++ - 你有没有通过使用 boost::pool 获得显着的 boost ?

标签 c++ optimization memory-management boost malloc

我在一些地方玩了 boost::pool 几次,在我看来我正在用大量的对象“搅动”严重地敲打堆。通常我使用 boost::object_poolboost::pool_alloc 作为 STL 模板参数。然而,结果始终是性能几乎没有变化,或者显着恶化。

我很想知道它有什么成功案例。

我应该在分析输出中寻找哪些可能表明 boost::pool 可能有帮助的东西?

真的很难改进旧的 malloc 吗?

最佳答案

内存池是 imo 最有效的事务处理方式,您可以在其中分配给池,然后在事务完成后,将其转储到遗忘中。真正的 boost 并不是每次分配都会快得多,而是在一个运行时间极长的应用程序中,内存碎片几乎为零。

总的来说,听起来您的应用程序不保证使用内存池

关于c++ - 你有没有通过使用 boost::pool 获得显着的 boost ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473023/

相关文章:

c++ - 如何在 C++ 中使用另一个数组的地址初始化一个数组?

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

C++将文件复制到具有管理员权限的文件夹中

sql-server - TABLOCK 用于优化插入选择语句的事务日志记录

multithreading - 使用危险指针的无锁内存回收

c++ - 为什么 new 没有用模板实现?

c++ - 如何实例化基于输入的策略模式

mysql - 连接两个大表时的性能问题

php - 是否存在精确/准确的计时方法?

objective-c - 澄清分配后何时释放指针