First of all I have to say that I am myself quite new to this topic -
these are more or less my first experiences with profiling.
I like Oprofile’s many features allowing to analyze system load by
CPU/application/etc. Plus I found its manual quite
good and it does not slow execution down so much. Using Oprofile I can
still run my flowgraph with UHD and USRP attached without underruns what
is impossible with cachegrind.
After trying both tools I have to agree that Kcachegrind in fact is a
convenient way to profile code. Especially the annotated source code
can be viewed inside the GUI is great. But considering the real-time
aspect, both tools have its advantages in my opinion.