章节总结

  • 仅当所有高级性能问题都已修复后,才建议使用硬件功能进行低级微调。调整设计不良的算法是时间上的浪费。一旦消除所有主要性能问题,就可以使用 CPU 性能监控功能来分析和进一步调整应用程序。
  • 自顶向下的微架构分析 (TMA) 方法是一种非常强大且易学的方法,即使是经验不足的开发人员也可以轻松使用它来识别程序对 CPU 微架构的无效使用。TMA 是一个迭代过程,包括多个步骤,其中包括描述工作负载和定位源代码中瓶颈发生的确切位置。我们建议 TMA 应该成为每次低级调整工作的起点之一。
  • 分支记录机制(例如 Intel 的 LBR、AMD 的 LBR 和 ARM 的 BRBE)在执行程序的同时连续记录最近的分支结果,从而导致最小的减速。这些设施的主要用途之一是收集调用堆栈。此外,它们还有助于识别热点分支、预测错误率并实现机器代码的精确计时。
  • 现代处理器通常提供基于硬件的采样功能,用于高级性能分析。此类功能通过将多个样本存储到专用缓冲区而不使用软件中断来降低采样开销。它们还引入了“精确事件”,能够精确定位导致特定性能事件的确切指令。此外,还有一些其他不太重要的用例。此类基于硬件的采样功能的示例实现包括 Intel 的 PEBS、AMD 的 IBS 和 ARM 的 SPE。
  • Intel 处理器跟踪 (PT) 是一项 CPU 功能,通过以高度压缩的二进制格式编码数据包来记录程序执行,这些数据包可用于重建带有每个指令时间戳的执行流。PT 具有广泛的覆盖范围和相对较小的开销。其主要用途是事后分析和查找性能问题根本原因。Intel PT 功能在附录 D 中介绍。基于 ARM 架构的处理器也具有称为 ARM CoreSight 的跟踪功能2,但它主要用于调试而非性能分析。

性能分析器利用本章介绍的硬件功能来实现许多不同类型的分析。

2. ARM CoreSight - https://developer.arm.com/ip-products/system-ip/coresight-debug-and-trace

results matching ""

    No results matching ""