C++中函数执行效率研究

先fuck一下!刚才写到一半的文章居然没有掉了……心碎啊!!!

好了,言归正传。

先附上C++中验证两个函数执行效率的方法:(指令周期级)

运行结果如下:

results

由上面结果可以发现虽然第一次和第二次执行的是同一个函数,但是时钟周期还是不一样的,这是因为电脑里还有其他N多的程序在跑,时钟周期是相当小的一个单位,所以所受影响会较大,一般我们普通的用毫秒来计算一个算法的好坏就已经足够了,所以再附上一个以毫秒级表示的的程序代码:

结果就不贴了,直接复制运行就好。

如果有人需要计算非常精确的程序运行时间,那还要考虑程序的缓存问题,当然有时候由于程序执行的无序性还会导致程序所得的周期数不一样,在这样的情况下可以用汇编的cupid指令来强制使前期的操作执行完成。

如果想更加深入可以参照以下文章:

Reference:  http://www.ccsl.carleton.ca/~jamuir/rdtscpm1.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值