Programming |
Analyzing Your Program's Performance
The M-file Profiler graphical user interface and the stopwatch timer functions enable you to get back information on how your program is performing and help you identify areas that need improvement. The Profiler can be more useful in measuring relative execution time and in identifying specific performance bottlenecks in your code, while the stopwatch functions tend to be more useful for providing absolute time measurements.
The M-File Profiler Utility
A good first step to speeding up your programs is to find out where the bottlenecks are. This is where you need to concentrate your attention to optimize your code.
MATLAB provides the M-file Profiler, a graphical user interface that shows you where your program is spending its time during execution. Use the Profiler to help you determine where you can modify your code to make performance improvements.
To start the Profiler, type profile
viewer
or select Desktop -> Profiler in the MATLAB Command Window. See Profiling for Improving Performance in the MATLAB Desktop Tools and Development Environment documentation, and the profile
function reference page.
Stopwatch Timer Functions
If you just need to get an idea of how long your program (or a portion of it) takes to run, or to compare the speed of different implementations of a program, you can use the stopwatch timer functions, tic
and toc
. Invoking tic
starts the timer, and the first subsequent toc
stops it and reports the time elapsed between the two.
Use tic
and toc
as shown here:
Keep in mind that tic
and toc
measure overall elapsed time. Make sure that no other applications are running in the background on your system that could affect the timing of your MATLAB programs.
Measuring Smaller Programs
Shorter programs sometimes run too fast to get useful data from tic
and toc
. When this is the case, try measuring the program running repeatedly in a loop, and then average to find the time for a single run:
Improving Performance and Memory Usage | Techniques for Improving Performance |
© 1994-2005 The MathWorks, Inc.