You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "DllDefines.h"
|
|
|
|
class UTILITYDLL CHighResPerformanceCounter
|
|
{
|
|
public:
|
|
// default constructor
|
|
CHighResPerformanceCounter();
|
|
|
|
// default destructor
|
|
virtual ~CHighResPerformanceCounter();
|
|
|
|
// record start count
|
|
void StartCnt(void);
|
|
|
|
// record stop count
|
|
void StopCnt(void);
|
|
|
|
/// Gets current time span in msec.
|
|
LONGLONG GetCurrentTimeSpanInMsec();
|
|
double GetCurrentTimeSpanInSec();
|
|
double GetCurrentTimeSpanInMin();
|
|
double GetCurrentTimeSpanInHr();
|
|
|
|
LONGLONG GetTimeSpanInMsec();
|
|
double GetTimeSpanInSec();
|
|
double GetTimeSpanInMin();
|
|
double GetTimeSpanInHr();
|
|
|
|
LONG GetTimeRemaining(LONG timeout);
|
|
|
|
// get current counter
|
|
static LONGLONG GetCurrentCnt();
|
|
|
|
// cal msec time span in count
|
|
static LONGLONG CalMsecTimeSpanInCnt(LONGLONG lMsec);
|
|
|
|
// cal time span in msec
|
|
static LONGLONG CalTimeSpanInMsec(LONGLONG lcount);
|
|
|
|
// cal time span in sec
|
|
static double CalTimeSpanInSec(LONGLONG lcount);
|
|
|
|
// cal time span in mins
|
|
static double CalTimeSpanInMin(LONGLONG lCnt);
|
|
|
|
// cal time span in hours
|
|
static double CalTimeSpanInHr(LONGLONG lCnt);
|
|
|
|
private:
|
|
// Start count
|
|
LARGE_INTEGER m_lStartCnt;
|
|
|
|
// Stop count
|
|
LARGE_INTEGER m_lStopCnt;
|
|
}; |