toc

Считайте прошедшее время из секундомера

Синтаксис

toc
elapsedTime = toc
toc(timerVal)
elapsedTime = toc(timerVal)

Описание

toc читает прошедшее время из таймера секундомера, начатого функцией tic. Функция читает внутреннее время при выполнении команды toc и отображает прошедшее время начиная с нового вызова функции tic, которая не имела никакого вывода в секундах.

elapsedTime = toc возвращает прошедшее время в переменной.

toc(timerVal) отображается время протекло начиная с команды tic, соответствующей timerVal.

elapsedTime = toc(timerVal) возвращает прошедшее время начиная с команды tic, соответствующей timerVal.

Входные параметры

timerVal

Значение внутреннего таймера, сохраненного от предыдущего вызова до команды tic.

Выходные аргументы

elapsedTime

Скалярный double, представляющий время, протек между tic и командами toc в секундах.

Примеры

Измерьтесь время, чтобы сгенерировать две случайных матрицы и вычислить поэлементно умножение их транспонирует.

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

Измерьтесь, как время, необходимое, чтобы решить линейную систему, меняется в зависимости от порядка матрицы:

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)

Измерьте несколько отрезков времени одновременно с помощью двух пар вызовов tic/toc. Для этого измерьте минимальное и среднее время, чтобы вычислить суммирование Функций Бесселя:

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  

Советы

  • Последовательные вызовы функции toc без входа возвращают прошедшее начиная с нового tic. Поэтому можно провести несколько измерений от одного момента времени.

    Последовательные вызовы функции toc с тем же входом timerVal возвращают прошедшее время начиная с вызова функции tic, который соответствует тому входу.

  • Следующие действия приводят к неожиданному выводу:

    • Используя tic и toc ко времени timeit
    • Используя tic и toc в функции, синхронизированной timeit

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a