DaysPlan is a growing suite of products that aims to provide an integrated Work Time Management software for organizations world-wide. DaysPlan, Inc. Started as a vacation tracking software company in 2012, it later added Time sheets for Clock In and Time sheets for Projects/Tasks to the product line up. PTOFFICE provides an outstanding solution for PTO and PTA groups looking to organize and manage their family contact information. My first year coordinating a school directory was a huge success. Thank you, PTOFFICE, for making the task of creating a school directory so easy!
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).
Really appreciate the help!
fogesfoges3 Answers
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:
- Open Instruments.1
- Select the 'Time Profiler' template.
- Select your application in the 'Target' dropdown menu.2
- Hit the red circle ('record') button to start your application running.
- If applicable, do some stuff in your application that you need to profile.
- Hit the record button again to stop recording.
- Use the tools in Instruments to analyze your results.
Of the tools available, the ones that will be most frequently useful are:
- Expanding the call tree using the disclosure arrows
- Clicking the circled arrow on a function name to focus it
- Double-clicking a function to view the associated source
- The 'Invert Call Tree' checkbox on the left-hand side
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.
QuuxplusonePto Tool Sampling For Mac
duskwuffFree Analysis Tool Sample For Powerpoint
Instruments really is the right answer, but if you can't figure out how to use it then another option is the profiler in the built-in Activity Monitor application. In Activity Monitor you can get info on any running process and there's a button to sample its execution for a while. You'll have to start your program, switch to Activity Monitor, find the process, and then sample it.
Additionally you can do 'poor man's profiling' simply by running the program in a debugger and pausing it manually half a dozen times or so and noting the call stack at those times. It's very simple but it works surprisingly well as a first pass for a significant fraction of programs.
bames53bames53Instruments is the tool to use.To overcome the issue of the blank traces, make sure that you open Instruments from within XCode:
If you open Instruments from an old Instruments icon that you pinned to your dock before the last update to XCode, it will give you blank traces.