我正在使用gperftools来分析使用GCC 5.4.0(带-O3)编译的C ++应用程序。
代码经过高度优化,因此我在输出中看不到很多分支,但是有一个名为 __ nss_passwd_lookup()的分支,这需要花费大量时间:
我唯一的猜测是它与内存分配有关。
操作系统:Ubuntu 16.04 x86_64,内核:4.8。
答案 0 :(得分:0)
glibc中的某些汇编函数偶尔会出现此问题(例如memcpy或memset)。考虑安装libc6-dbg包。另外,请尝试golang版本的pprof工具(去获取github.com/google/pprof)。