当我使用perf进行分析时,我通常会看到1或2" hot"指令。
perf的默认指标是周期,因此perf实际上告诉我这些指令在周期方面花费很多。
我试图找出如何找出为什么特定指令需要很多周期。
可能有很多原因:
例如,
在分析我的代码时,我看到这条指令用红色标记:
lea -0xf(%rsi),%eax
我切换到另一个指标 L1-dcache-loaded 或缓存未命中
但在任何指标下,此指示都没有标记为红色。
因此,除了盲目搜索所有指标外,我怎样才能找出为什么特定指令在使用perf的周期方面成本高昂?
谢谢,
伊泰