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

조회 수: 3 (최근 30일)
Benson Gou
Benson Gou 2021년 5월 16일
편집: Paul Hoffrichter 2021년 5월 16일
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

채택된 답변

Paul Hoffrichter
Paul Hoffrichter 2021년 5월 16일
편집: Paul Hoffrichter 2021년 5월 16일
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
Paul Hoffrichter
Paul Hoffrichter 2021년 5월 16일
Looks like while I was updating my answer, and checking the profile command, @Walter Roberson came up with the same link that you can use from the command window.
Paul Hoffrichter
Paul Hoffrichter 2021년 5월 16일
편집: Paul Hoffrichter 2021년 5월 16일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by