perf:理解为什么特定的指令是热的"

时间:2016-09-28 14:24:01

标签: linux performance assembly profiling perf

当我使用perf进行分析时,我通常会看到1或2" hot"指令。

perf的默认指标是周期,因此perf实际上告诉我这些指令在周期方面花费很多。

我试图找出如何找出为什么特定指令需要很多周期。

可能有很多原因:

  1. 缓存未命中
  2. 分支预测失败
  3. 其他类型的摊位
  4. 例如,

    在分析我的代码时,我看到这条指令用红色标记:

    lea    -0xf(%rsi),%eax
    

    我切换到另一个指标 L1-dcache-loaded 缓存未命中

    但在任何指标下,此指示都没有标记为红色。

    因此,除了盲目搜索所有指标外,我怎样才能找出为什么特定指令在使用perf的周期方面成本高昂?

    谢谢,

    伊泰

0 个答案:

没有答案