From 35f7829af10c61e33dd2e2a7a015058e11a11ea0 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 25 Mar 2017 14:17:07 +0100 Subject: update --- .../generic_bench/timers/portable_perf_analyzer.hh | 2 +- .../btl/generic_bench/timers/portable_timer.hh | 46 +++++++++++++++++++++- 2 files changed, 45 insertions(+), 3 deletions(-) (limited to 'eigen/bench/btl/generic_bench/timers') diff --git a/eigen/bench/btl/generic_bench/timers/portable_perf_analyzer.hh b/eigen/bench/btl/generic_bench/timers/portable_perf_analyzer.hh index fc0f316..5e579fb 100644 --- a/eigen/bench/btl/generic_bench/timers/portable_perf_analyzer.hh +++ b/eigen/bench/btl/generic_bench/timers/portable_perf_analyzer.hh @@ -78,7 +78,7 @@ public: // time measurement action.calculate(); _chronos.start(); - for (int ii=0;ii<_nb_calc;ii++) + for (unsigned int ii=0;ii<_nb_calc;ii++) { action.calculate(); } diff --git a/eigen/bench/btl/generic_bench/timers/portable_timer.hh b/eigen/bench/btl/generic_bench/timers/portable_timer.hh index e6ad309..c199811 100644 --- a/eigen/bench/btl/generic_bench/timers/portable_timer.hh +++ b/eigen/bench/btl/generic_bench/timers/portable_timer.hh @@ -34,7 +34,7 @@ // timer -------------------------------------------------------------------// // A timer object measures CPU time. -#ifdef _MSC_VER +#if defined(_MSC_VER) #define NOMINMAX #include @@ -87,6 +87,48 @@ }; // Portable_Timer +#elif defined(__APPLE__) +#include +#include + + +class Portable_Timer +{ + public: + + Portable_Timer() + { + } + + void start() + { + m_start_time = double(mach_absolute_time())*1e-9;; + + } + + void stop() + { + m_stop_time = double(mach_absolute_time())*1e-9;; + + } + + double elapsed() + { + return user_time(); + } + + double user_time() + { + return m_stop_time - m_start_time; + } + + +private: + + double m_stop_time, m_start_time; + +}; // Portable_Timer (Apple) + #else #include @@ -138,7 +180,7 @@ private: int m_clkid; double m_stop_time, m_start_time; -}; // Portable_Timer +}; // Portable_Timer (Linux) #endif -- cgit v1.2.3