C++利用QueryPerformanceCounter计算代码运行时间
2011-09-06 14:31
1081 查看
// 在Xtimer.h中定义。
#pragma once
#define _X_TIMER_CREATE(Alias) \
LARGE_INTEGER _d_timer_##Alias##_start_at = {0}; \
LARGE_INTEGER _d_timer_##Alias##_stop_at = {0}; \
LARGE_INTEGER _d_timer_##Alias##_time = {0}; \
UINT _d_timer_##Alias##_run_times = 0;
#define _X_TIMER_RESET(Alias) \
_d_timer_##Alias##_time.QuadPart = 0; \
_d_timer_##Alias##_run_times = 0;
#define _X_TIMER_START(Alias) \
QueryPerformanceCounter(&_d_timer_##Alias##_start_at); \
_d_timer_##Alias##_run_times++;
#define _X_TIMER_PAUSE(Alias) \
QueryPerformanceCounter(&_d_timer_##Alias##_stop_at); \
_d_timer_##Alias##_time.QuadPart += _d_timer_##Alias##_stop_at.QuadPart - _d_timer_##Alias##_start_at.QuadPart;
#define _X_TIMER_REPORT(Alias) \
TRACE(_T("xTimer[") _T(#Alias) _T("] use %d K PFT, "), _d_timer_##Alias##_time.QuadPart >> 10); \
TRACE(_T("runs %d times.\n"), _d_timer_##Alias##_run_times);
#define _X_TIMER_DECLARE(Alias) \
extern LARGE_INTEGER _d_timer_##Alias##_start_at; \
extern LARGE_INTEGER _d_timer_##Alias##_stop_at; \
extern LARGE_INTEGER _d_timer_##Alias##_time; \
extern UINT _d_timer_##Alias##_run_times;
说明:使用时候只要包只要在使用的地方将 Xtimer.h包含一下即可,使用方法如下:
_X_TIMER_DECLARE(RunTime)
_X_TIMER_CREATE(RunTime)
//_X_TIMER_RESET(RunTime)
_X_TIMER_START(RunTime)
// This is the Code which you need to get it's run time.
_X_TIMER_PAUSE(RunTime)
_X_TIMER_REPORT(RunTime)
#pragma once
#define _X_TIMER_CREATE(Alias) \
LARGE_INTEGER _d_timer_##Alias##_start_at = {0}; \
LARGE_INTEGER _d_timer_##Alias##_stop_at = {0}; \
LARGE_INTEGER _d_timer_##Alias##_time = {0}; \
UINT _d_timer_##Alias##_run_times = 0;
#define _X_TIMER_RESET(Alias) \
_d_timer_##Alias##_time.QuadPart = 0; \
_d_timer_##Alias##_run_times = 0;
#define _X_TIMER_START(Alias) \
QueryPerformanceCounter(&_d_timer_##Alias##_start_at); \
_d_timer_##Alias##_run_times++;
#define _X_TIMER_PAUSE(Alias) \
QueryPerformanceCounter(&_d_timer_##Alias##_stop_at); \
_d_timer_##Alias##_time.QuadPart += _d_timer_##Alias##_stop_at.QuadPart - _d_timer_##Alias##_start_at.QuadPart;
#define _X_TIMER_REPORT(Alias) \
TRACE(_T("xTimer[") _T(#Alias) _T("] use %d K PFT, "), _d_timer_##Alias##_time.QuadPart >> 10); \
TRACE(_T("runs %d times.\n"), _d_timer_##Alias##_run_times);
#define _X_TIMER_DECLARE(Alias) \
extern LARGE_INTEGER _d_timer_##Alias##_start_at; \
extern LARGE_INTEGER _d_timer_##Alias##_stop_at; \
extern LARGE_INTEGER _d_timer_##Alias##_time; \
extern UINT _d_timer_##Alias##_run_times;
说明:使用时候只要包只要在使用的地方将 Xtimer.h包含一下即可,使用方法如下:
_X_TIMER_DECLARE(RunTime)
_X_TIMER_CREATE(RunTime)
//_X_TIMER_RESET(RunTime)
_X_TIMER_START(RunTime)
// This is the Code which you need to get it's run time.
_X_TIMER_PAUSE(RunTime)
_X_TIMER_REPORT(RunTime)
相关文章推荐
- 【C++】高精度代码运行时间( QueryPerformanceCounter )
- 如何精确计算程序运行时间——精确获取时间(QueryPerformanceCounter)
- 计算程序运行时间的函数Sleep,clock,GetTickCount,QueryPerformanceCounter
- 利用clock()函数计算一段代码运行消耗的时间(C语言)
- python中利用time模块,计算一段代码运行的时间。
- QueryPerformanceCounter精确计算执行时间
- C++精确获取时间(QueryPerformanceCounter)
- C++中计算某个代码的运行时间
- 利用jiffies计算代码的运行时间
- C++ 计算代码运行时间的几种方法(转)
- C++计算代码运行时间
- c++怎么计算代码运行时间到超精确毫秒级别
- C++ 计算 代码运行时间的 几种方法 .
- C++高精度计算代码运行时间(转载)
- 利用jiffies计算代码的运行时间
- C++ 计算 代码运行时间的 几种方法
- Js利用console计算代码运行时间的方法示例
- QueryPerformanceCounter 程序运行时间的开销探讨
- C++ 计算 代码运行时间的 几种方法
- c语言计算时间方法---clock-GetTickCount-QueryPerformanceCounter