如何将C++ STL容器与jemalloc(或任何其他malloc实现)一起使用?
是简单地包含
编辑:我正在开发的应用程序在其生命周期内分配和释放相对较小的对象。我想替换默认的分配器,因为基准测试表明该应用程序无法在2个核心以上进行扩展。分析显示,它正在等待内存分配,这就导致了扩展问题。据我所知,jemalloc将有助于解决这个问题。
我希望看到一个平台中立的解决方案,因为该应用程序必须在Linux和Windows上运行。(在Linux下链接不同的实现很容易,但据我所知,在Windows上很难。)
是简单地包含
jemalloc/jemalloc.h
吗?还是应该为它们编写一个分配器?编辑:我正在开发的应用程序在其生命周期内分配和释放相对较小的对象。我想替换默认的分配器,因为基准测试表明该应用程序无法在2个核心以上进行扩展。分析显示,它正在等待内存分配,这就导致了扩展问题。据我所知,jemalloc将有助于解决这个问题。
我希望看到一个平台中立的解决方案,因为该应用程序必须在Linux和Windows上运行。(在Linux下链接不同的实现很容易,但据我所知,在Windows上很难。)
-fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
标志。同时,请仔细检查您的链接顺序,并查看此手册页面。 - AnOccasionalCashew