I’m attempting to profile some c++ code on my mac (os x Lion) and I haven’t been able to find anything useful. I’m looking for a profiler that will tell me what functions are taking up my cpu time (similar to the matlab profiler).
Here is what I have tried
- gprof. This is what I use on my linux machine, but it just gives me empty output on my mac (apparently a known problem)
- Instruments. I can’t for the life of me figure out how to profile anything within my compiled binary. Nor can I find any sort of useful tutorial.
- (other searching revealed Shark, which is no longer available and Valgrind which is for memory).
Instruments is the tool to use. A full explanation of Instruments is outside the scope of this answer, but here’s a quick start guide:
Of the tools available, the ones that will be most frequently useful are:
You can also start an invocation of
instrumentson the command line:see instructions.
1 One easy way to open Instruments is to use Spotlight: Just click on the magnifying glass in the upper right corner of the taskbar (next to the clock) and type “Instruments”.
2 Click “Choose Target…” and navigate to the path of your executable.