【发布时间】:2020-07-27 13:28:59
【问题描述】:
我想知道如何获得 Mac 上的性能监控计数器测量值。使用 Linux,我们 可以使用“perf stat”命令获取测量值。使用 Mac 更难。具体来说,我想知道如何获得 分支错误预测和执行的分支数 从命令行运行的程序,最好不重新编译 该程序。我做了一些谷歌搜索,但我需要的是一个解决方案; 如果你能告诉我你是如何启动终端的,输入一些 命令(也许使用您下载的某些工具),并获得了 对 /bin/ls 的错误预测,那就太好了。
【问题讨论】:
-
检查 stackoverflow.com/a/61131670/196561 发布 - Mac OS 有 en.wikipedia.org/wiki/Instruments_(software) 来配置应用程序,并且有工具 help.apple.com/instruments/mac/current/#/devb14ffaa5 的 CLI 变体。硬件性能计数器通常具有特权,需要操作系统内核中的特殊驱动程序或帮助程序。仪器 GUI 具有随时间变化的采样和速率视图,支持硬件 PMU 计数器。 robertpieta.com/counters-in-instruments
-
我认为 Pin 只是用于检测程序,但您如何在 macOS 中使用 pin 读取性能监控计数器寄存器?这将非常有帮助。谢谢
-
不是英特尔 Pin,而是来自 xcode 的
instruments工具 - help.apple.com/instruments/mac/current/#/devb14ffaa5。有使用仪器收集性能计数器 (PMU) 的 CLI 变体,但要使用它,您应该首先使用 GUI 选择或创建正确的计数器模板。不确定如何使用 CLI 工具查看收集的数据。只需使用 GUI Instruments help.apple.com/instruments/mac/current -
该程序是我不想重新编译的二进制可执行文件。检测它会扰乱分支预测器,所以我需要运行未修改的原始程序
-
parisa,仪器工具,在 GUI 和 CLI 模式下都不需要任何重新编译。它只是命名为“Instruments.app”并且是 Xcode 的一部分(“Xcode,选择 Xcode > Open Developer Tool > Instruments。”),但它适用于大多数模板而无需重新编译。
标签: macos performancecounter perf