|||
关于求matlab程序的运行时间,自己用的最多是tic和toc;而对于复杂的程序,Profile是个不错的性能分析工具。
1. profile
有个profile工具界面,也可以命令式
例子:
profile on
plot(magic(35))
profile viewer
profsave(profile('info'),'profile_results')
profile on -history
plot(magic(4));
p = profile('info');
for n = 1:size(p.FunctionHistory,2)
if p.FunctionHistory(1,n)==0
str = 'entering function: ';
else
str = ' exiting function: ';
end
disp([str p.FunctionTable(p.FunctionHistory(2,n)).FunctionName]);
end
2. tic,toc
tic
operation
toc
3. cputime
t=cputime;
your_operation
cputime-t
4. clock,etime
t0 = clock;
operation
etime(clock,t0)
但是疑惑的 是 profile 运行时间和 其他 cputime 相差 甚远!! 进一步检查问题再作探讨!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 22:53
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社