gperftools尝试

Posted stephen-qin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gperftools尝试相关的知识,希望对你有一定的参考价值。

最近在找windows下比较好用的函数时间统计的库,听同事说gperftools是跨平台的,就下载下来尝试了一把.发现它确实实现了windows上可以调用的dll库文件(tcmalloc_minimal,VS2015下的工程),而自己想要用到的ProfilerStart()和ProfilerStop()函数依赖linux中的signal.h文件(其中的siginfo结构体),宣告这条路径失败了.不过看了这么久的这个项目,也来总结下,总算有点收获.

下载路径:https://github.com/gperftools/gperftools

刚才发现原来项目中已经说明了只是有tcmalloc_minimal is supported on Windows,自己还尝试了半天.

技术图片

 

 这个README_windows.txt介绍了一些VS使用时需要注意的地方,讲述的也算详细.

 

里面说的   "libtcmalloc_minimal.lib" /INCLUDE:"__tcmalloc"  一开始没有看懂,后来领会到:

VslinkerInput:Additional Dependencies中加入libtcmalloc_minimal.lib, Force Symbol References中加入__tcmalloc.Command Line中就会有包含上面的那个内容.

贴一个当时的工程树状图,其中只有tcmalloc_minimal是dll工程,其他的都是exe工程.

 

 技术图片

 

 

技术图片

以上是关于gperftools尝试的主要内容,如果未能解决你的问题,请参考以下文章

解释 gperftools 在多线程工作负载上的结果

C gperftools - 分析 C 代码

gperftools 错误:/usr/local/bin/pprof 第 3618 行的字符串之外的 substr

cmake:无法链接到谷歌分析器(gperftools)

让 gperftools 与 Rcpp 一起工作

gperftools优化nginx(内存)