VC中监测程序运行时间(二)-毫秒级
2024-10-18 23:29:19
/*
* 微秒级计时器,用来统计程序运行时间
* 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);
} */
最新文章
- java 多态2
- python多线程ssh爆破
- 第 15 章 组合模式【Composite Pattern】
- easyUI属性总结
- SMACSS:一个关于CSS的最佳实践-2.Base Rules
- 利用Python进行简单的图像识别(验证码)
- js调试的时候用console.log(";变量";+scrollTop+windowHeight)
- LINUX 笔记-grep命令
- Struts2与Ajax数据交互
- AnsibleAPI源码剖析(1)-Runner类的 初始化
- Java 数组及数组常用算法
- Android Bundle详解
- [Swift]LeetCode803. 打砖块 | Bricks Falling When Hit
- Windows中使用ssh利用公钥登入远程服务器
- android 4.x环境搭建
- [hadoop]hadoop2.6完全分布式环境搭建
- hihocoder 1509 异或排序
- django基础2
- BZOJ4921 互质序列
- linux进程的学习笔记(未完)
热门文章
- ios tweak之binary not signed (use ldid -S)问题解决
- cocos2d-x 2.1.2 bug发现
- HelloX操作系统网络功能简介及使用和开发指南
- GitHub开源库排名一百的简单介绍,值得收藏!
- Delphi EVariantTypeCastError错误的解决方法
- 为在MyEclipse中配置Tomcat服务器郁闷的朋友们解决郁闷
- site
- visio 改变画布大小
- 《Python CookBook2》 第一章 文本 - 控制大小写 &;&; 访问子字符串
- 树-哈夫曼树(Huffman Tree)