diff options
author | telsoa01 <telmo.soares@arm.com> | 2018-08-31 09:22:23 +0100 |
---|---|---|
committer | telsoa01 <telmo.soares@arm.com> | 2018-08-31 09:22:23 +0100 |
commit | c577f2c6a3b4ddb6ba87a882723c53a248afbeba (patch) | |
tree | bd7d4c148df27f8be6649d313efb24f536b7cf34 /src/armnn/WallClockTimer.cpp | |
parent | 4c7098bfeab1ffe1cdc77f6c15548d3e73274746 (diff) | |
download | armnn-c577f2c6a3b4ddb6ba87a882723c53a248afbeba.tar.gz |
Release 18.08
Diffstat (limited to 'src/armnn/WallClockTimer.cpp')
-rw-r--r-- | src/armnn/WallClockTimer.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/armnn/WallClockTimer.cpp b/src/armnn/WallClockTimer.cpp new file mode 100644 index 0000000000..93d12222f7 --- /dev/null +++ b/src/armnn/WallClockTimer.cpp @@ -0,0 +1,41 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// + +#include "WallClockTimer.hpp" + +namespace armnn +{ + +const std::string WallClockTimer::WALL_CLOCK_TIME ("Wall clock time"); +const std::string WallClockTimer::WALL_CLOCK_TIME_START(WallClockTimer::WALL_CLOCK_TIME + " (Start)"); +const std::string WallClockTimer::WALL_CLOCK_TIME_STOP (WallClockTimer::WALL_CLOCK_TIME + " (Stop)"); + +const char* WallClockTimer::GetName() const +{ + return "WallClockTimer"; +} + +void WallClockTimer::Start() +{ + m_Start = clock::now(); +} + +void WallClockTimer::Stop() +{ + m_Stop = clock::now(); +} + +std::vector<Measurement> WallClockTimer::GetMeasurements() const +{ + const auto delta = std::chrono::duration<double, std::milli>(m_Stop - m_Start); + const auto startTimeMs = std::chrono::duration<double, std::milli>(m_Start.time_since_epoch()); + const auto stopTimeMs = std::chrono::duration<double, std::milli>(m_Stop.time_since_epoch()); + + return { { WALL_CLOCK_TIME, delta.count(), Measurement::Unit::TIME_MS }, + { WALL_CLOCK_TIME_START, startTimeMs.count(), Measurement::Unit::TIME_MS }, + { WALL_CLOCK_TIME_STOP, stopTimeMs.count(), Measurement::Unit::TIME_MS } }; +} + +} //namespace armnn |