很多时候我们需要知道程序或部分代码运行时间,现简单总结如下,如有错误或不足之处还望坛友加以指正和补充
一、tic/toc组合,个人经常使用这个,既可以计算整体,也可以计算部分代码的运行时间
使用格式
例
tStart = tic; % pair 2: tic
n = 10;
T = zeros(1,n);
for i = 1:n
A = rand(12000,4400);
B = rand(12000,4400);
tic % pair 1: tic
C = A.*B;
T(i)= toc; % pair 1: toc
end
tMul = sum(T)
tEnd = toc(tStart) % pair 2: toc
可得
tMul =
0.7418
tEnd =
8.7086
二、etime/clock组合
使用格式
t1=clock
%程序段
t2=clock
t=etime(t2,t1)
例
t1=clock;
n = 10;
T = zeros(1,n);
for i = 1:n
A = rand(12000,4400);
B = rand(12000,4400);
C = A.*B;
end
t2=clock;
t=etime(t2,t1)
可得
t =
8.7320
三、cputime函数
使用格式
t = cputime;
%程序段
e = cputime-t
例
t = cputime;
n = 10;
T = zeros(1,n);
for i = 1:n
A = rand(12000,4400);
B = rand(12000,4400);
C = A.*B;
end
e = cputime-t
可得e =
18.7969
值得注意的是cputime测试的并非代码实际执行时间,而是CPU实际运行的时间。具体请看https://www.ilovematlab.cn/thread-237411-1-1.html
四、timeit函数,用来测量运行函数的时间
使用格式
例
可得
t =
1.8348e-05
|