[Libva] [PATCH intel-driver 1/5] test: add a timer class
U. Artie Eoff
ullysses.a.eoff at intel.com
Wed Oct 26 20:24:15 UTC 2016
The timer is useful to quickly instrument various sections
of code during test development optimization tasks or other
timing needs.
Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
---
test/test_utils.h | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/test/test_utils.h b/test/test_utils.h
index 007667708adb..333106c239d6 100644
--- a/test/test_utils.h
+++ b/test/test_utils.h
@@ -25,6 +25,7 @@
#ifndef TEST_UTILS_H
#define TEST_UTILS_H
+#include <chrono>
#include <random>
template <typename T>
@@ -46,4 +47,29 @@ private:
std::uniform_int_distribution<T> dis;
};
+class Timer
+{
+public:
+ typedef typename std::chrono::microseconds us;
+ typedef typename std::chrono::milliseconds ms;
+ typedef typename std::chrono::seconds s;
+
+ Timer() { reset(); }
+
+ template <typename T = std::chrono::microseconds>
+ typename T::rep elapsed() const
+ {
+ return std::chrono::duration_cast<T>(
+ std::chrono::steady_clock::now() - start).count();
+ }
+
+ void reset()
+ {
+ start = std::chrono::steady_clock::now();
+ }
+
+private:
+ std::chrono::steady_clock::time_point start;
+};
+
#endif // TEST_UTILS_H
--
2.1.0
More information about the Libva
mailing list