【发布时间】:2016-02-29 10:37:41
【问题描述】:
我想在 Mac OS X 上针对英特尔处理器的 Xcode 测量分支预测失败,显然是为了速度优化。
有没有办法对 XCode 的 Instruments 进行编程来实现这一点?
我已经检查过了,很遗憾,Xcode 文档中没有此信息。 我怀疑这可以通过一些自定义设置来实现。
目的是识别优化问题,例如: Why is it faster to process a sorted array than an unsorted array?
我知道存在一个Intel commercial solution,用于在 Linux 和 Windows 上运行的英特尔处理器。在 OS X 上,您显然只能监控在 Linux 或 Windows 系统上运行的远程 Intel 处理器。
与商业工具相比,我更喜欢一种设置/编程 Xcode 和 Apple 工具的方法,以至少在此问题上获得最低限度的可见性。
【问题讨论】:
-
我不知道 XCode,但是 Cachegrind 可以做到。 valgrind.org/docs/manual/cg-manual.html
-
我发现存在 OS X 兼容版本的 Cachegrind,看起来很有希望。我将编译它并尝试一下。另一方面,我注意到 Xcode 分析工具中的 Counters 工具(没有详细记录)似乎允许“计数”看起来正是分支预测失败的情况。
标签: xcode macos optimization profiling branch-prediction