缓存malloc性能改进

缓存malloc性能改进,c,performance,caching,C,Performance,Caching,如果我的应用程序多次动态分配和释放内存,每次都是为相同大小的对象分配和释放内存;用分配的内存缓存包装malloc和free对于提高性能是否有意义?或者mallocs的实现已经做到了这一点吗?可以为您做到这一点的类 另一种更快更简单的方法是使用(tbbmalloc)或(tcmalloc)中的替代malloc库。两者都比默认的malloc快得多,并且只需要与库链接,因此需要更改代码 我使用了tbbmalloc,在几个应用程序上获得了2倍的巨大提升。你说的是内存池malloc将在引擎盖下实施一个。您可

如果我的应用程序多次动态分配和释放内存,每次都是为相同大小的对象分配和释放内存;用分配的内存缓存包装malloc和free对于提高性能是否有意义?或者mallocs的实现已经做到了这一点吗?

可以为您做到这一点的类

另一种更快更简单的方法是使用(tbbmalloc)或(tcmalloc)中的替代malloc库。两者都比默认的malloc快得多,并且只需要与库链接,因此需要更改代码


我使用了tbbmalloc,在几个应用程序上获得了2倍的巨大提升。

你说的是内存池
malloc
将在引擎盖下实施一个。您可以编写自己的代码来更好地处理特定的用例,但是除非您知道自己在做什么,否则最好依赖默认值。您分析了您的代码以确定这是一个问题吗?@OliverCharlesworth还没有,我在访问我正在使用的集群时遇到了一些问题,我必须等待解决。顺便说一句,我想先弄清楚问题出在哪里。我分配了数百万个平均时间寿命为2.5 us的描述符。但平均而言,保持10000人的人才库应该是可行的。我在想,它是否值得实现是没有用的,因为它已经实现了。在开始胡闹如何分配内存之前,尽可能避免内存分配通常是个好主意。