
您可以设置若干全局变量。在每一次进行加法(或乘法)时使全局变量+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秒!
对于其他更复杂的程序,你可以自己按此方法类推。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)