perf stat 前端和后端周期显示大于 100%

Posted

技术标签:

【中文标题】perf stat 前端和后端周期显示大于 100%【英文标题】:perf stat frontend and backend cycles showing greater than 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 型号是什么? 【参考方案1】:

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

【讨论】:

以上是关于perf stat 前端和后端周期显示大于 100%的主要内容,如果未能解决你的问题,请参考以下文章

计算机前端和后端区别

如何使用 perf stat 计算 MIPS

前端渲染和后端渲染

前端开发和后端开发

Joomla:如何将一种表单用于前端和后端视图?

web后端和前端是怎么连接的