Measure time required to run function
t = timeit(f) measures the typical time (in seconds) required to run the function specified by the function handle f.
Use timeit to time a function call to date. This example uses a handle to a function that accepts no input.
f = @date; t = timeit(f)
t = 1.3481e-04
Time the combination of several mathematical matrix operations: matrix transposition, element-by-element multiplication, and summation of columns.
A = rand(12000, 400); B = rand(400, 12000); f = @() sum(A.' .* B, 1); timeit(f)
ans = 0.0427
Determine how long it takes to run svd with one output argument, s=svd(X).
X = [1 2; 3 4; 5 6; 7 8]; f = @() svd(X); t1 = timeit(f)
t1 = 1.5427e-05
Compare the results to svd with three output arguments, [U,S,V]=svd(X).
t2 = timeit(f,3)
t2 = 2.6695e-05
Create a short function to allocate a matrix using nested loops. Preallocating an array using a nested loop is inefficient, but is shown here for illustrative purposes.
function mArr = preAllocFcn(x,y) for m = 1:x for n = 1:y mArr(m,n) = 0; end end end
Compare the time to allocate zeros to a matrix using nested loops and using the zeros function.
x = 1000; y = 500; g = @() preAllocFcn(x,y); h = @() zeros(x,y); diffRunTime = timeit(g)-timeit(h)
diffRunTime = 0.2004
Function to be measured, specified as a function handle. f is either a handle to a function that takes no input, or a handle to an anonymous function with an empty argument list.
Number of desired outputs from f, specified as an integer. If the function specified by f has a variable number of outputs, numOutputs specifies which syntax timeit uses to call the function. For example, the svd function returns a single output, s, or three outputs, [U,S,V]. Set numOutputs to 1 to time the s = svd(X) syntax, or set it to 3 to time the [U,S,V] = svd(X) syntax.
The following actions result in unexpected output:
Using timeit between tic and toc
Using timeit to time a function that includes calls to tic and toc
Using timeit recursively
timeit calls the specified function multiple times, and computes the median of the measurements.