MATLAB 怎么知道程序计算量?

MATLAB 怎么知道程序计算量?,第1张

您好。

您可以设置若干全局变量。在每一次进行加法(或乘法)时使全局变量+1即可。

其实程序计算量还有另一种检测方法,即计算程序时间,把你要进行计算运行时间的程序代码最前面加上tic,最后面加上toc就可以了。

运算量可以用运行时间来衡量。也就是我们常说的时间复杂度。而MATLAB有tic和toc两个函数:使用tic 、toc函数对。在待测试程序前写tic,在程序结尾写toc,那么将会自动计时程序运行的时间。这样就可以计算出运算量。

CPU频率2GHZ,即每秒可计算2*10^9次!

但考虑实际,CPU会经常需要从mem中取数据,又会和Cache的命中情况有关,这时的所用时间就很难估算。

所以单单从理论上计算的话:

一般情况CPU做加、减法等 *** 作,只用一个机器周期即可完成,

但对于最简单的循环加法 *** 作:

for(i = 0i <Ni++)

sum += i

其实真正汇编后的机器码,大概得6-7行左右,因为除了加法 *** 作,还有判断、跳转等额外的指令。

假设N=1的话,CPU一秒大约可以执行2*10^9/7 ≈3*10^8次!

也就是说,当N=3*10^8时,这段代码大约要执行1秒!

对于其他更复杂的程序,你可以自己按此方法类推。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11488131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存