From bcc99057351132530c670f5a46d97c4e8bf64727 Mon Sep 17 00:00:00 2001 From: Achmad Imam Kistijantoro <imam@informatika.org> Date: Tue, 11 Dec 2018 16:02:02 +0700 Subject: [PATCH] Upload New File --- timer.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 timer.h diff --git a/timer.h b/timer.h new file mode 100644 index 0000000..6f4fb4a --- /dev/null +++ b/timer.h @@ -0,0 +1,54 @@ +#ifndef TIMER_H +#define TIMER_H + +#include <stdlib.h> + +#ifdef WIN32 + #define WIN32_LEAN_AND_MEAN + #include <windows.h> +#else + #ifndef __USE_BSD + #define __USE_BSD + #endif + #include <sys/time.h> +#endif + +#ifdef WIN32 +double PCFreq = 0.0; +__int64 timerStart = 0; +#else +struct timeval timerStart; +#endif + +void StartTimer() +{ +#ifdef WIN32 + LARGE_INTEGER li; + if(!QueryPerformanceFrequency(&li)) + printf("QueryPerformanceFrequency failed!\n"); + + PCFreq = (double)li.QuadPart/1000.0; + + QueryPerformanceCounter(&li); + timerStart = li.QuadPart; +#else + gettimeofday(&timerStart, NULL); +#endif +} + +// time elapsed in ms +double GetTimer() +{ +#ifdef WIN32 + LARGE_INTEGER li; + QueryPerformanceCounter(&li); + return (double)(li.QuadPart-timerStart)/PCFreq; +#else + struct timeval timerStop, timerElapsed; + gettimeofday(&timerStop, NULL); + timersub(&timerStop, &timerStart, &timerElapsed); + return timerElapsed.tv_sec*1000.0+timerElapsed.tv_usec/1000.0; +#endif +} + +#endif // TIMER_H -- GitLab