很多时候我们需要知道程序或部分代码运行时间,现简单总结如下,如有错误或不足之处还望坛友加以指正和补充
一、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函数,用来测量运行函数的时间
使用格式
|