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

时间:2012-02-15 19:31:46

标签: performance embedded arm embedded-linux ubuntu-11.10

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

目前我正在考虑使用valgrind和gprof来衡量绩效。

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

1 个答案:

答案 0 :(得分:8)

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

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

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