//---------------------------------------------------------------------------- // EgalTech 2013-2014 //---------------------------------------------------------------------------- // File : EgtPerfCounter.h Data : 14.01.14 Versione : 1.5a3 // Contenuto : Oggetto cronometro. // // // // Modifiche : 14.01.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #define NOMINMAX #include //---------------------------------------------------------------------------- class PerformanceCounter { public : PerformanceCounter( void) { QueryPerformanceFrequency( (LARGE_INTEGER*) &m_lnFreq) ; if ( m_lnFreq <= 0) m_lnFreq = 1 ; Start() ; } void Start( void) { QueryPerformanceCounter( (LARGE_INTEGER*) &m_lnStart) ; } double Stop( void) { __int64 lnStop ; QueryPerformanceCounter( (LARGE_INTEGER*) &lnStop) ; m_dTime = ( (double) lnStop - (double) m_lnStart) / (double) m_lnFreq * 1000 ; return m_dTime ; } double GetTime( void) { return m_dTime ; } private : __int64 m_lnFreq ; __int64 m_lnStart ; double m_dTime ; // in millisecondi } ;