我可以测量现代 Intel Mac OS X 上的分支预测失败吗?

Mic*_*dda 2 macos optimization xcode profiling branch-prediction

我想测量 Mac OS X 上英特尔处理器的 Xcode 上的分支预测失败情况,其明显的目的是速度优化。

有没有办法对 XCode 的 Instruments 进行编程来实现这一目标?

我已经检查过了,遗憾的是 Xcode 文档中没有此信息。我怀疑这可以通过一些自定义设置来实现。

目的是识别优化问题,例如: 为什么处理排序数组比处理未排序数组更快?

我知道存在针对在 Linux 和 Windows 上运行的英特尔处理器的英特尔商业解决方案。在 OS X 上,您显然只能监控在 Linux 或 Windows 系统上运行的远程 Intel 处理器。

与商业工具相比,我更喜欢一种设置/编程 Xcode 和 Apple 工具的方法,以至少获得对此问题的最低限度的了解。

tha*_*guy 5

对于其他为此苦苦挣扎的人,在 Instruments 9.2 中:

  • 选择柜台
  • 转到文件>录制选项
  • 选择“样本依据:事件”
  • 选择一个事件名称(请参阅文档),在本例中为“BR_MISP_RETIRED.CONDITIONAL”:

仪器中记录选项的屏幕截图