Advertisement

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)

还没有任何评论哟~