1

I want to profile an application's critical path by taking readings of the performance counters at various points along the path.

I came across libperf which provides a fairly neat C api. However, the last activity was 3 years ago.

I am also aware of the PAPI. This is under active development.

  • Are there other libraries I should be aware of?
  • Can anyone offer any insight into using one or the other?
  • Any tutorials / introductions to integrating these into application code?
Steve Lorimer
  • 27,059
  • 17
  • 118
  • 213

3 Answers3

1

I've used both PAPI (on Solaris) and perf (on Linux) and found it is much easier to record the entire program run and use 'perf-annotate' to see how your critical path is doing rather than trying to measure only the critical path. It's a different approach but it worked well for me.

Also, as someone mentioned at the comments, there is vTune, if you are x86 based. I've never used it myself.

gby
  • 14,900
  • 40
  • 57
1

There are several options, among them:

I cover these in more detail in an answer to a related question.

BeeOnRope
  • 60,350
  • 16
  • 207
  • 386
0

Have a look at http://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization?page=8

VTune however is proprietory, if you want it can serve the purpose. Try its 30 day trial.

perfmon and perfctr can be used for analysis of parts of program but will have to be included in the code itself.

sol
  • 95
  • 1
  • 12