How to find the CUP time used by each function in my code?
조회 수: 5 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
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
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
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 Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!