How to check efficiency of my code?

조회 수: 3 (최근 30일)
Raviteja
Raviteja 2011년 9월 22일
댓글: Luna 2019년 1월 28일
I heard, the command true is faster than logical(1) This I got after reading one answer in this answers forum.
In general how to check efficiency of my code. I usually use to compare 2 programs for the same task by using tic - toc command. Whichever gives lesser time, I use that code in my application.
Here, my question is how to check efficiency of my code in another way(s) ?

답변 (2개)

Grzegorz Knor
Grzegorz Knor 2011년 9월 22일

Jan
Jan 2011년 9월 22일
The PROFILE command is almost very helpful to measure the execution time of different lines. Unfortuantely it disables the JIT-acceleration, because it can change the order of execution and a the time spent "inside a line" is not meaningful anymore. So especially the accelerated FOR loops get very slow when a PROFILE is created. This might be one reason for the old rumors about slow FOR loops.
CPUTIME measures the time with running CPU. As far as I can see, this reduces the influence of waiting for the harddisk etc. This might be helpful, or useless according to what you want to measure.
There is a nice function in the FEX to measure run-times: TIMEIT. Under Windows you can use the high-accuracy-timer also: HAT.
Finally I'm using TIC TOC also for most measurements. Repeated measurements are required, because there will be some noise.
  댓글 수: 1
Luna
Luna 2019년 1월 28일
I was searching about code efficiency, and found that timeit is already built-in so the function in the FEX does not exist anymore.
Putting the link here maybe it helps to someone who searches.

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

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by