有没有比malloc/calloc更好的实现在C中分配内存?

Pra*_*ava 3 c malloc memory-management

因为malloc/calloc是stdlib for C中定义的旧实现.有没有更好的实现可以取代malloc/calloc?请不要回答malloc/calloc方法的任何包装器方法.在C中分配内存的新实现不应该调用malloc/calloc,而应该实现自己的方法.

ta.*_*.is 10

除非您的应用程序是多线程的,否则您可能不应该打扰.本文建议(至少在一个平台上)malloc在单线程环境中具有相当的竞争力.

那么,您应该在应用程序中使用哪个分配器?malloc在Solaris OS上,它被证明是单线程代码的强大选择.

请注意第一种情况

请注意第一种情况

你会很难做得比malloc它的功能更好.如果你想要更好的内存分配,你可以包装malloc或调用操作系统内存分配函数(但丢失可移植性)并将你自己的分配逻辑放在内存块之上.

如果你真的需要一个更好的内存分配器,试试Hoard:

Hoard内存分配器是一个快速,可扩展且内存高效的内存分配器,适用于Linux,Solaris,Mac OS X和Windows.Hoard是malloc的直接替代品,可以显着提高应用程序性能,尤其适用于在多处理器和多核CPU上运行的多线程程序.

基准

请注意,它不一定是免费的.如果你想要一个免费的,试试其中之一.