C++ 精确计时类

来源:互联网 发布:tk 域名 编辑:程序博客网 时间:2024/04/29 22:54
http://hi.baidu.com/ronyo/blog/item/ee7e71cf7d46c338f8dc61ad
.html
   在一些程序中经常要统计一个算法/函数花费的时间,每次都重新写代码太麻烦了,索性自己用C++写了计时类,这个类统计的时间可以精确到微秒级别C++ <wbr>精确计时类


例子:
#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;}





0 0