/*
* 微秒级计时器,用来统计程序运行时间
* http://blog.csdn.net/hoya5121/article/details/3778487#comments
* //整理 [10/16/2013 Duan Yihao]
*/ #pragma once #include "stdafx.h" //////////////////////////////////////////////////////////////////////////
class timer
{
public:
timer();
~timer(); void start(void); void end(void); DWORD getTime(void) const; private:
LARGE_INTEGER m_i64CPUFreq;
LARGE_INTEGER m_i64Begin;
LARGE_INTEGER m_i64End;
void reset(void);
}; //////////////////////////////////////////////////////////////////////////
timer::timer()
{
QueryPerformanceFrequency(&m_i64CPUFreq);
} timer::~timer()
{ } void timer::start(void)
{
reset();
QueryPerformanceCounter(&m_i64Begin);
} void timer::end(void)
{
QueryPerformanceCounter(&m_i64End);
} DWORD timer::getTime(void) const
{
DWORD dwTotalMicrosecond = ;
LARGE_INTEGER i64TickCount;
i64TickCount.QuadPart = m_i64End.QuadPart - m_i64Begin.QuadPart;
dwTotalMicrosecond = (DWORD) (i64TickCount.QuadPart * / m_i64CPUFreq.QuadPart); return dwTotalMicrosecond;
} void timer::reset(void)
{
m_i64Begin = m_i64End;
} /*
//////////////////////////////////////////////////////////////////////////
//MFC下使用举例: void CtestMFCView::OnTest()
{ // TODO: 在此添加命令处理程序代码
//测试例子 //计时开始
timer t;
t.start(); //运算过程 for(int i = 0; i < 10; i++)
{
int n = i;
for(int i = 0; i < 10000; i++)
{
int n = i;
}
} //计时结束
t.end(); //输出运行时间
CString s;
s.Format(_T("%u ms"), t.getTime());
AfxMessageBox(s);
} */

最新文章

  1. java 多态2
  2. python多线程ssh爆破
  3. 第 15 章 组合模式【Composite Pattern】
  4. easyUI属性总结
  5. SMACSS:一个关于CSS的最佳实践-2.Base Rules
  6. 利用Python进行简单的图像识别(验证码)
  7. js调试的时候用console.log(&quot;变量&quot;+scrollTop+windowHeight)
  8. LINUX 笔记-grep命令
  9. Struts2与Ajax数据交互
  10. AnsibleAPI源码剖析(1)-Runner类的 初始化
  11. Java 数组及数组常用算法
  12. Android Bundle详解
  13. [Swift]LeetCode803. 打砖块 | Bricks Falling When Hit
  14. Windows中使用ssh利用公钥登入远程服务器
  15. android 4.x环境搭建
  16. [hadoop]hadoop2.6完全分布式环境搭建
  17. hihocoder 1509 异或排序
  18. django基础2
  19. BZOJ4921 互质序列
  20. linux进程的学习笔记(未完)

热门文章

  1. ios tweak之binary not signed (use ldid -S)问题解决
  2. cocos2d-x 2.1.2 bug发现
  3. HelloX操作系统网络功能简介及使用和开发指南
  4. GitHub开源库排名一百的简单介绍,值得收藏!
  5. Delphi EVariantTypeCastError错误的解决方法
  6. 为在MyEclipse中配置Tomcat服务器郁闷的朋友们解决郁闷
  7. site
  8. visio 改变画布大小
  9. 《Python CookBook2》 第一章 文本 - 控制大小写 &amp;&amp; 访问子字符串
  10. 树-哈夫曼树(Huffman Tree)