http://hi.baidu.com/ronyo/blog/item/ee7e71cf7d46c338f8dc61ad

.html

   在一些程序中经常要统计一个算法/函数花费的时间,每次都重新写代码太麻烦了,索性自己用C++写了计时类,这个类统计的时间可以精确到微秒级别





例子:

#include<iostream>
using namespace std;
///////////
#ifndef __MyTimer_H__
#define __MyTimer_H__
#include <windows.h> class MyTimer{
private:
int _freq;
LARGE_INTEGER _begin;
LARGE_INTEGER _end;
public:
long costTime; // 花费的时间(精确到微秒)
public:
MyTimer(){
LARGE_INTEGER tmp;
QueryPerformanceFrequency(&tmp);
_freq = tmp.QuadPart;
costTime = 0;
}
void Start(){ // 开始计时
QueryPerformanceCounter(&_begin);
}
void End(){ // 结束计时
QueryPerformanceCounter(&_end);
costTime = (long)((_end.QuadPart - _begin.QuadPart) * 1000000 / _freq);
}
void Reset(){ // 计时清0
costTime = 0;
}
};
#endif
/////////////////
int main(){
MyTimer mt;
mt.Start();
int i;
int sum=0;
for(i=0;i<12345678;i++){
sum=sum+i;
}
mt.End();
cout<<"Total cost time:"<<mt.costTime<< " us" << endl;
return 0;
}

最新文章

  1. 关于spark的一些简单认识。
  2. Java基础知识系列——String
  3. Ext FileSystem Family、Ext2、Ext3
  4. puer工具的使用
  5. 《C标准库》——之&lt;ctype.h&gt;
  6. kafka概念
  7. nginx 重启命令
  8. 【实习记】2014-08-18使用curl排错http头的content-length
  9. POJ 1775 (ZOJ 2358) Sum of Factorials
  10. JQuery使用on绑定动态生成元素时碰到的问题
  11. css3技巧属性之text-overflow
  12. EALayout 实践
  13. CCNA毕业测试
  14. windows 下启动运行 jar 包程序
  15. 【视频】使用ASP.NET Core开发GraphQL服务
  16. Toast不消失问题
  17. django(一)验证码
  18. noip模拟【ping】
  19. requests:json请求中中文乱码处理
  20. laravel控制器方法中,用函数作为变量进行传递时的处理方法

热门文章

  1. vuex 中关于 mapMutations 的作用
  2. 【Excle数据透视表】如何快速选取所有标签并标注黄色底纹
  3. UML的基本图(三)
  4. .net 添加web引用和添加服务引用有什么区别?
  5. java移位运算符详解
  6. Excel COM组件使用的注意事项和一些权限问题(转载)
  7. python学习(十)赋值、表达式、if、while、for
  8. HDU3549_Flow Problem(网络流/EK)
  9. 【BZOJ2510】弱题 期望DP+循环矩阵乘法
  10. EasyNVR H5直播流媒体解决方案前端构建之:如何播放自动适配RTMP/HLS直播播放