首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用tcmalloc和glib

使用tcmalloc和glib
EN

Stack Overflow用户
提问于 2010-11-17 11:36:00
回答 1查看 2.6K关注 0票数 4

我想测试通过使用Google的tcmalloc可以获得的性能改进。我的程序使用了许多由glib提供的实用程序(散列、列表、数组、.)。所以我想要的基本上是让glib使用tcmalloc而不是glibc的malloc。

我可以用两种方法来解决这个问题:

  1. 通过使用-tcmalloc选项编译glib。
  2. 通过使用来自g_mem_set_vtable ()glib内存分配函数

实际上,我更喜欢第二种方法,但我还没有找到任何实现它的例子。

有什么暗示吗?有什么办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-17 11:54:27

你可以用在tcmalloc文档中建议的方法。

或者,在使用任何glib函数之前,使用dlsym() ( malloc()realloc()free()例程)加载tcmalloc库,并使用它们初始化struct GMemVTable。(假设tcmalloc calloc()也优于tcmalloc)。一定要初始化您不使用的0成员(C99命名的成员初始化非常适合这一点)。最后调用g_mem_set_vtable()

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4203940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档