任何人都可以帮助了解问题的原因/在哪里?
我正在将基本matlab函数(如mean.m)的速度与两台matlab版本2013b和2014b与同一台机器进行比较。
并且令人惊讶的是,2013b版本比2014b快得多.... 你们有些人有同样的问题吗?
2014b的平均概况摘要 - > 0024 2013b的平均值概况 - > 0013
像我的脚本一样,我使用平均功能,实际上在同一个程序的运行时间不同,在一个或另一个版本中是巨大的...... 怎么回事?计算个人资料时间的代码:
A=rand(100,1)
time_mean=zeros( 1000,1)
for i=1:1000
tic
mean(A);
time_mean(i)= toc;
end
答案 0 :(得分:0)
首先,使用分析器比较各版本的时序并不明智 - 它旨在识别单个MATLAB版本中的慢速部分。其次,你应该使用timeit
来计算这种事情。我在我的Windows机器上比较了各种尺寸的R2013b和R2014b,并且可以看到在R2014b中看起来是一个小的固定开销,大约0.1ms。
代码基本上是:
for exp = 1:6
A = rand(10^exp, 1);
t(exp) = timeit(@()mean(A));
end
semilogy(1:6, t);
如果您要拨打mean
的大量个人电话,最好还是看看是否可以将这些电话形成一个电话 - MATLAB' mean
可以按列或沿着列进行操作矩阵的行...