Documentation

# tic

Start stopwatch timer

## Syntax

```tic timerVal = tic ```

## Description

`tic` starts a stopwatch timer to measure performance. The function records the internal time at execution of the `tic` command. Display the elapsed time with the `toc` function.

`timerVal = tic` returns the value of the internal timer at the execution of the `tic` command, so that you can record time for simultaneous time spans.

## Output Arguments

 `timerVal` Value of the internal timer at the execution of the `tic` command. This value is used as an input argument for a subsequent call to `toc`. You should not rely on the meaning of this value.

## Examples

Measure time to generate two random matrices and compute element-by-element multiplication of their transposes.

```tic A = rand(12000, 4400); B = rand(12000, 4400); toc C = A'.*B'; toc```

Measure how the time required to solve a linear system varies with the order of a matrix:

```t = zeros(1,100); for n = 1:100 A = rand(n,n); b = rand(n,1); tic; x = A\b; t(n) = toc; end plot(t)```

Measure multiple time spans simultaneously using two pairs of `tic/toc` calls. To do this, measure the minimum and average time to compute a summation of Bessel functions:

```REPS = 1000; minTime = Inf; nsum = 10; tic; % TIC, pair 1 for i=1:REPS tStart = tic; % TIC, pair 2 total = 0; for j=1:nsum total = total + besselj(j,REPS); end tElapsed = toc(tStart); % TOC, pair 2 minTime = min(tElapsed, minTime); end averageTime = toc/REPS; % TOC, pair 1 ```

## Tips

• Consecutive `tic` commands overwrite the internally recorded starting time.

• The `clear` function does not reset the starting time recorded by a `tic` command.

• The following actions result in unexpected output:

• Using `tic` and `toc` to time `timeit`
• Using `tic` and `toc` within a function timed by `timeit`