我想测试通过使用Google的tcmalloc可以获得的性能改进。我的程序使用了许多由glib提供的实用程序(散列、列表、数组、.)。所以我想要的基本上是让glib使用tcmalloc而不是glibc的malloc。
我可以用两种方法来解决这个问题:
-tcmalloc选项编译glib。g_mem_set_vtable ()的glib内存分配函数。实际上,我更喜欢第二种方法,但我还没有找到任何实现它的例子。
有什么暗示吗?有什么办法吗?
发布于 2010-11-17 11:54:27
你可以用在tcmalloc文档中建议的方法。。
或者,在使用任何glib函数之前,使用dlsym() ( malloc()、realloc()和free()例程)加载tcmalloc库,并使用它们初始化struct GMemVTable。(假设tcmalloc calloc()也优于tcmalloc)。一定要初始化您不使用的0成员(C99命名的成员初始化非常适合这一点)。最后调用g_mem_set_vtable()
https://stackoverflow.com/questions/4203940
复制相似问题