【发布时间】:2011-12-12 18:08:56
【问题描述】:
我有一个分配大量内存的应用程序,我正在考虑使用比 malloc 更好的内存分配机制。
我的主要选择是:jemalloc 和 tcmalloc。使用其中任何一个有什么好处吗?
http://locklessinc.com/benchmarks.shtml中的一些机制(包括作者的专有机制--lockless)有很好的对比 它提到了它们各自的一些优点和缺点。
鉴于这两种机制都很活跃并不断改进。有没有人对这两者的相对表现有任何见解或经验?
【问题讨论】:
-
你为什么在 C++ 中使用
malloc? -
@JohnDibling 性能
-
我想下一个自然的问题是,你为什么使用 C++?
-
@JohnDibling:我会注意到
new的常见实现依赖于malloc来获取内存...... -
您也可以通过简单地减少分配来提高性能。对象池在这里很有帮助。编程可能会有点棘手,但如果分配方案导致性能问题,那么您就应该考虑这一点。