linux - 如何统计ARM程序执行的指令数?

标签 linux performance assembly linux-kernel arm

我想对我想通过计算指令对应用程序所做的更改执行性能测量。但是,我对 ARM 的调试接口(interface)不够熟悉,不知道如何执行此操作。甚至有这种东西的接口(interface)吗?如果有必要,我完全有能力深入内核,但我的直觉告诉我,这类事情应该在用户空间中实现。

最佳答案

Linux 内核 .config 中的

CONFIG_PERF_EVENTS

用于访问它的用户空间工具位于 linux-source/tools/perf/

HW_PERF_EVENTS 启用 PMU,CPU_HAS_PMU 定义如下:(CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && (!ARCH_OMAP3 || OMAP3_EMU) 所以你的芯片可能有它。否则,Linux 将尝试在软件中获取一些统计信息(我想是中断中 %pc 的采样值)。

关于linux - 如何统计ARM程序执行的指令数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9982920/

相关文章:

c# - LINQ 中的聚合与求和性能

asp.net - ASP :image or img

arrays - 此 MARIE 代码是否找到数组中的最小数字?

c - 如何以可维护和可读的方式在 ARM 程序集中重用 C 结构?

c# - 还有其他人使用 MonoDevelop 吗?

c++ - 通过施加内存压力来降低CPU频率

python - 性能:Matlab 与 Python

linux - 编写 AMD64 SysV 程序集时使用哪些寄存器作为临时寄存器?

linux - pgagent 的 systemd 单元

linux - 如何从 linux 终端发送电子邮件,将多个文件的内容作为邮件正文?