MATLAB Answers

How to find the CUP time used by each function in my code?

1 view (last 30 days)
Dear All,
I want to know the CPU time used by each function of my code. I donot know if it is possible. I donot want to use tic/toc because I need to set up many tic/toc.
Thanks a lot.
Benson

Accepted Answer

Paul Hoffrichter
Paul Hoffrichter on 16 May 2021
Edited: Paul Hoffrichter on 16 May 2021
If you need a profile of the relative time spent in every function when running your entire script, then while viewing the main program script in the EDITOR section, you can hit the "Run and Time" button instead of the "Run" button. The resultant summary does not give you CPU time, but only relative times. When you see a function taking up most of the time, you can delve into its hyperlink and get a time profile of the individual lines.
The following link provides an explanation of how to interpret the profiling results.
There is also a cputime function if you really need that. I have never used it and it does not give a complete breakdown of all the functions.
Here is a detailed description of how to profile your code starting at the command window. You set the profile status to on, and run your program. Notice that there is a -timer 'cpu' option. Just be aware that cpu time gives you the sum of the times on all your CPU cores; so the cpu time can be larger than measuring time using timeit or tic/toc.
  4 Comments
Paul Hoffrichter
Paul Hoffrichter on 16 May 2021
In other IDE's, there is a place to enter arguments to the command line which are used when hitting their Run button. Closest I found in MATLAB is this RUN approach which allows hitting the RUN button with arguments. I just tested to see whether the Run and Time button will pick up the arguments set in the Run button. It does pick up the arguments, so perhaps you can enter your arguments in the Run button, and get the Profile results easily.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!