【问题标题】:perf stat frontend and backend cycles showing greater than 100%perf stat 前端和后端周期显示大于 100%
【发布时间】:2014-11-14 14:24:56
【问题描述】:

我正在尝试使用perf 对一段用 C 编写的代码进行基准测试,我的前端空闲周期计数超过 100%。我已经看到后端空闲周期计数也发生了这种情况。两者同时超过100。每个周期的指令数量相当多 - 从5 - 10.

3,569,966 stalled-cycles-frontend   #  111.98% frontend cycles idle   
1,843,327 stalled-cycles-backend    #   57.82% backend  cycles idle   
17,875,020 instructions             #    5.61  insns per cycle        
                                    #    0.20  stalled cycles per insn

百分比这么高是什么意思?

【问题讨论】:

  • 让我猜猜,你有一个多核处理器?因此,通常很容易获得超过 100% 的百分比。
  • 是的,我愿意。那么我该如何解释呢?还是完全不理会它?
  • 尝试只在一个 cpu 上运行你的命令。这可能会证明它的多核正在弄乱百分比数字。
  • Danny, stalled-cycles-frontend 可能不会被定义为 CPU 周期。机器上的确切 CPU 型号是什么?

标签: c profiling x86-64 perf


【解决方案1】:

这些百分比与活动 CPU 周期有关,显示为 cycles。所以,cycles 不是总周期,而是活动 CPU 周期,前端或后端停滞周期是相对于它计算的。

【讨论】:

    猜你喜欢
    • 2014-04-05
    • 2018-10-23
    • 2016-07-18
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多