C++ 测试时间函数

测试一段代码,或者一个函数是写完代码后经常要做的事。

我习惯的写东西的顺序是:

测试代码 -->  伪代码 --> 实际代码--> 更加高效的版本 -->带输入输出控制检测,出错验证的代码  -->更加灵活的版本

下面列举下常用的时间测试方法:

 

1. 版本

   

[cpp]  viewplain copy
  1. clock_t start clock();  
  2.          
  3. clock_t end   clock();  
  4. cout<<end start<<endl;  

 大家多这个版本多半不会陌生,这应该是最常用的执行时间测试方法了,能精确到ms级。

2.版本

[cpp]  viewplain copy
  1. LARGE_INTEGER frec;  
  2. LARGE_INTEGER strt;  
  3. LARGE_INTEGER ed;  
  4. QueryPerformanceFrequency(&frec);  
  5. QueryPerformanceCounter(&strt);  
  6.   
  7. QueryPerformanceCounter(&ed);  
  8. cout<<(ed.QuadPart-strt.QuadPart)*1000/frec.QuadPart<<endl;  

这个是针对于特定的平台的测试,有时候我们需更高的精度测试时,往往需要用到这个测试,其中frec记录的是CPU每秒的频率,使用QueryPerformanceFrequency()查询。然后分别测试代码开始处的时钟数和结束处得时钟数。最后,相减除以每秒的频率就得到执行时间。*1是秒数,*1000是毫秒数,*1000000 是微妙数,*1000 000 000是ns数。

注意添加头文件:windows.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值