MA1
MA1

Reputation: 2847

Measure application performance on ARM development board

I have a C++ application and i want to measure its performance on ARM board. The board is running ubuntu.

Currently i am considering valgrind and gprof to measure the performance.

What tools/techniques should i use to measure the performance?

Upvotes: 3

Views: 656

Answers (1)

synthesizerpatel
synthesizerpatel

Reputation: 28036

Here are the biggies I ran across last time I had to do this:

  • valgrind (only supported on cortex ARM processors.. boo)
  • mprof (not so hot with threads?)
  • gprof (not so hot with threads?)
  • oprofile (requires kernel mods, but most modern kernels have it. I've used this under ARM.
  • systemtap (recently ported to arm, looks awesome - like dtrace for Linux)
  • strace and ltrace can actually be useful sometimes, although very high-level
  • iostat et all as well if you want to kick it old school.
  • Fair amount of information in /proc/ and /sys if you dig
  • ioapps - IO tracing
  • lsof is useful for tracking stuck sockets and file handles
  • systat
  • pmap
  • iptraf
  • tcpdump
  • perftools - CPU and memory profiling
  • bootchart
  • QEMU can host ARM kernels / binaries, and can be instrumented from outside. It's proven useful to me a couple times.
  • Manual instrumentation using the gcc hooks

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

Upvotes: 8

Related Questions