2014-11-14 32 views
1

我正在尝试使用perf以C语言编写的一段代码进行基准测试,并且我在前端空闲周期数中获得了100%以上的成绩。我已经看到这种情况发生在后端空闲周期。两者同时超过100。每个周期的指令数量相当高 - 范围从5 - 10perf stat前端和后端循环显示大于100%

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 

百分比如此之高意味着什么?

+1

让我猜,你有一个多核处理器?正因为如此,百分比超过100%通常很容易。 – 2014-11-14 14:28:50

+0

是的,我喜欢。那么我应该如何解释呢?或者完全忽略它? – Danny 2014-11-14 14:33:46

+0

尝试仅在一个cpu上运行您的命令。这可能会证明它的多核心是混乱的百分比数字。 – 2014-11-15 17:46:47

回答

0

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