8.014196 task-clock # 0.004 CPUs utilized
204 context-switches # 0.025 M/sec
32 cpu-migrations # 0.004 M/sec
0 page-faults # 0.000 K/sec
11,841,196 cycles # 1.478 GHz [46.17%]
9,982,788 stalled-cycles-frontend # 84.31% frontend cycles idle [80.26%]
8,122,708 stalled-cycles-backend # 68.60% backend cycles idle
5,462,302 instructions # 0.46 insns per cycle
# 1.83 stalled cycles per insn
1,098,309 branches # 137.045 M/sec
94,430 branch-misses # 8.60% of all branches [77.23%]
是什么意思1.478GHz and [46.17%]在cycles的注释中。
这是我非常讨厌的事情perf
,文档和手册页已经过时,并且搜索某些值的含义非常复杂。我确实搜索过一次,所以我添加了我的发现:
是什么意思1.478GHz
据我所知,之后的价值#
是将本机计数器值(第一列中的值)重新计算为用户可读的形式。该值应大致对应于处理器的时钟速度:
grep MHz /proc/cpuinfo
应该给出类似的值。它是打印自工具/perf/util/stat-shadow.c https://github.com/torvalds/linux/blob/master/tools/perf/util/stat-shadow.c#L407.
and [46.17%]在循环的注释中?
该值应对应于硬件计数器处于活动状态的时间部分。 Perf 允许启动更多硬件计数器并在运行时复用它们,这使程序员更容易。
我没有在代码中找到实际的位置,但是最近在一篇文章中描述了它提议的补丁 https://lkml.org/lkml/2016/3/1/562作为...的一部分csv
格式):
+ - percentage of measurement time the counter was running
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)