【发布时间】:2019-06-30 23:34:01
【问题描述】:
我正在尝试分析我的代码运行时和启动时间。到目前为止,我已经使用 perf 和 uftrace 来查找运行时问题,并且我在运行时检测到了很多问题,但我还想了解更多关于初始化的信息,并知道我在哪里浪费了时间。我尝试使用LD_DEBUG=statistics 来获取有关动态加载的库的更多信息,但我没有注意到任何异常情况,这是有道理的,因为我将所有库都与可执行文件静态链接。
是否可以测量初始化静态/全局变量以及在流程到达main() 之前发生的任何事情需要多长时间?
【问题讨论】:
-
gprof 应该能够处理它。在如何仅在代码的选定部分上获得 gprof 覆盖方面存在一些未记录的 hack。我忘了,在我的脑海中,但它非常适合谷歌搜索。默认情况下打开它,然后在
main中将其作为第一笔业务关闭。现在,您只配置了静态/全局初始化...
标签: c++ linux performance profiler