【发布时间】:2023-03-03 00:49:02
【问题描述】:
在过去的几天里,我获得了一些关于内存分配器的信息,而不是标准的malloc()。对于具有多线程的应用程序,有些实现似乎比malloc() 好得多。例如,tcmalloc 和 ptmalloc 似乎性能更好。
我有一个 C++ 应用程序,它在很多地方都使用了 malloc 和 new 运算符。我认为用ptmalloc 之类的东西替换它们可能会提高它的性能。但我想知道new 运算符在 Linux 上运行的 C++ 应用程序中的作用是什么?它是使用malloc 的标准行为还是其他?
用代码中的旧内存分配器替换new 内存分配器的最佳方法是什么?有什么方法可以覆盖行为或new 和malloc 还是我需要一一替换对它们的所有调用?
【问题讨论】:
-
您是否确定您的程序花费大量时间进行内存管理?
-
是的,确实如此。我已经确定了
标签: c++ linux memory-management