如何获取程序执行的指令数?

Con*_*ang 4 c++ x86 profiling arm instruction-set

我编写并交叉编译了一个小型的c ++程序,我可以在ARM或PC上运行它.由于ARM和PC具有不同的指令集架构,我想比较它们.我可以在这个c ++程序中为两个ISA获取执行指令的数量吗?

VAn*_*rei 5

你需要的是一个分析器.perf将是一个易于使用.它将为您提供执行指令数,如果您想比较ISA效率,这是最佳指标.

这里查看教程.

你需要使用: perf stat ./your binary

查找指令指标.这种方法在CPU的性能监视单元PMU中使用一个寄存器来计算指令数.