5

我正在使用gperftools来分析使用 GCC 5.4.0(使用 -O3)编译的 C++ 应用程序。

代码经过高度优化,所以我在输出中看不到很多分支,但是有一个名为__nss_passwd_lookup()的分支,它需要大量时间:

在此处输入图像描述

我唯一的猜测是它以某种方式与内存分配有关。

操作系统:Ubuntu 16.04 x86_64,内核:4.8。

4

1 回答 1

1

glibc 中的一些汇编函数偶尔会出现这个问题(例如 memcpy 或 memset)。考虑安装 libc6-dbg 包。也请尝试 golang 版本的 pprof 工具(去获取 github.com/google/pprof)。

于 2017-01-03T23:47:32.267 回答