matlab预分配内存以提高运行效率及进行时间比较
发布时间
阅读量:
阅读量
为缩短程序执行时长,针对特定维度的矩阵进行内存预分配是一种可行手段。当前将对多种内存预分配策略展开测试,并对其执行效率进行对比分析。
clear
tic;
a(10000,20000) = 0; %方法一,直接赋值为零
time=toc
disp(['采用直接赋值方式,time=',num2str(time),'秒.'])
clear
tic;
b=zeros(10000,20000); %方法二,使用zeros函数,未设定数据类型
time=toc
disp(['采用zeros函数,未设定数据类型,time=',num2str(time),'秒.'])
clear
tic;
c=zeros(10000,20000,'double'); %方法三,使用zeros函数,设定数据类型
time=toc
disp(['采用zeros函数,设定数据类型,time=',num2str(time),'秒.'])
采用直接赋值方式,time=0.0021832秒.
采用zeros函数,未设定数据类型,time=0.33531秒.
采用zeros函数,设定数据类型,time=0.0056734秒.
通过上述结果可以发现,在所有测试方案中,第一种直接赋值方式以及第三种通过zeros函数并明确指定数据类型的方案,在节省运行时间方面表现较为突出。
全部评论 (0)
还没有任何评论哟~
