ArmNN
 20.02
WallClockTimer.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "WallClockTimer.hpp"
7 
8 namespace armnn
9 {
10 
11 const std::string WallClockTimer::WALL_CLOCK_TIME ("Wall clock time");
14 
15 const char* WallClockTimer::GetName() const
16 {
17  return "WallClockTimer";
18 }
19 
21 {
22  m_Start = clock::now();
23 }
24 
26 {
27  m_Stop = clock::now();
28 }
29 
30 std::vector<Measurement> WallClockTimer::GetMeasurements() const
31 {
32  const auto delta = std::chrono::duration<double, std::micro>(m_Stop - m_Start);
33  const auto startTimeMs = std::chrono::duration<double, std::micro>(m_Start.time_since_epoch());
34  const auto stopTimeMs = std::chrono::duration<double, std::micro>(m_Stop.time_since_epoch());
35 
36  return { { WALL_CLOCK_TIME, delta.count(), Measurement::Unit::TIME_US },
37  { WALL_CLOCK_TIME_START, startTimeMs.count(), Measurement::Unit::TIME_US },
38  { WALL_CLOCK_TIME_STOP, stopTimeMs.count(), Measurement::Unit::TIME_US } };
39 }
40 
41 } //namespace armnn
Copyright (c) 2020 ARM Limited.
void Start() override
static const std::string WALL_CLOCK_TIME_STOP
static const std::string WALL_CLOCK_TIME_START
const char * GetName() const override
void Stop() override
static const std::string WALL_CLOCK_TIME
std::vector< Measurement > GetMeasurements() const override