From dd7a5de6199ec0f46a7d40048b1dc295dedbda70 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 10 Jul 2016 20:42:38 -0400 Subject: [PATCH] add Timer --- src/core/Timer.cc | 31 +++++++++++++++++++++++++++++++ src/core/Timer.h | 19 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/core/Timer.cc create mode 100644 src/core/Timer.h diff --git a/src/core/Timer.cc b/src/core/Timer.cc new file mode 100644 index 0000000..812b5e8 --- /dev/null +++ b/src/core/Timer.cc @@ -0,0 +1,31 @@ +#include "Timer.h" +#include +#include + +static long get_usec() +{ + struct timeval tv; + gettimeofday(&tv, NULL); + return tv.tv_sec * 1000000 + tv.tv_usec; +} + +Timer::Timer() +{ + m_start_time = 0; + m_elapsed = 0; +} + +void Timer::start() +{ + m_start_time = get_usec(); +} + +void Timer::stop() +{ + m_elapsed = get_usec() - m_start_time; +} + +void Timer::print() +{ + printf("Elapsed: %ldus\n", m_elapsed); +} diff --git a/src/core/Timer.h b/src/core/Timer.h new file mode 100644 index 0000000..c0c5d50 --- /dev/null +++ b/src/core/Timer.h @@ -0,0 +1,19 @@ +#ifndef TIMER_H +#define TIMER_H + +class Timer +{ +public: + Timer(); + void start(); + void stop(); + void print(); + + long get_elapsed() { return m_elapsed; } + +protected: + long m_start_time; + long m_elapsed; +}; + +#endif