在ARM开发板上测量应用程序性能

MA1*_*MA1 3 embedded performance arm embedded-linux ubuntu-11.10

我有一个C++应用程序,我想测量它在ARM板上的性能.董事会正在运行ubuntu.

目前我正在考虑valgrind和gprof来衡量绩效.

我应该使用哪些工具/技术来衡量绩效?

syn*_*tel 8

以下是我上次遇到的那些大事:

  • valgrind(仅在皮质ARM处理器上支持.. boo)
  • mprof(线程不是很热吗?)
  • gprof(线程不是很热吗?)
  • oprofile(需要内核mods,但大多数现代内核都有它.我在ARM下使用过它.
  • systemtap(最近移植到arm,看起来很棒 - 就像Linux的dtrace一样)
  • strace和ltrace有时候实际上很有用,虽然非常高级
  • 如果你想把它放在旧学校,也可以使用iostat等.
  • 如果你挖掘,/ proc /和/ sys中的信息量相当大
  • ioapps - IO跟踪
  • lsof对于跟踪卡住的套接字和文件句柄很有用
  • SYSTAT
  • PMAP
  • iptraf
  • tcpdump的
  • perftools - CPU和内存分析
  • bootchart
  • QEMU可以托管ARM内核/二进制文件,并且可以从外部进行检测.事实证明它对我有用几次.
  • 使用gcc钩子进行手动检测

    void __cyg_profile_func_enter (void *, void *) __attribute__((no_instrument_function)); void __cyg_profile_func_exit (void *, void *) __attribute__((no_instrument_function));