/****************************************************************************** * Filename: HighResTimer.h * Date: 12/06/2010 * Mod. Date: 03/21/2018 * Author: Joseph R. Pollack * Purpose: A high resolution timer suitable for profiling code. This new * version has stripped out the game specific functionality and * does not include windows.h in the header. ******************************************************************************/ // TODO: Rewrite class with c++11 standard code: https://stackoverflow.com/questions/22387586/measuring-execution-time-of-a-function-in-c #ifndef HIGH_RES_TIMER_H_ #define HIGH_RES_TIMER_H_ #include #include namespace Lunarium { class HighResTimer { public: // Starts or re starts the timer. void Reset(); // Returns the amount of time in microseconds since the last Reset() call. int64_t GetElapsedMicros(); // Returns the elapsed time in terms of seconds double GetElapsedSeconds(); private: std::chrono::time_point mStartTime; }; } #endif // HIGH_RES_TIMER_H_