aboutsummaryrefslogtreecommitdiff
path: root/tests/framework/instruments/WallClockTimer.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/framework/instruments/WallClockTimer.h')
-rw-r--r--tests/framework/instruments/WallClockTimer.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/framework/instruments/WallClockTimer.h b/tests/framework/instruments/WallClockTimer.h
index fd2b18c3fb..468f4d3a8f 100644
--- a/tests/framework/instruments/WallClockTimer.h
+++ b/tests/framework/instruments/WallClockTimer.h
@@ -38,6 +38,27 @@ namespace framework
class WallClockTimer : public Instrument
{
public:
+ WallClockTimer(ScaleFactor scale_factor)
+ {
+ switch(scale_factor)
+ {
+ case ScaleFactor::NONE:
+ _scale_factor = 1.f;
+ _unit = "us";
+ break;
+ case ScaleFactor::TIME_MS:
+ _scale_factor = 1000.f;
+ _unit = "ms";
+ break;
+ case ScaleFactor::TIME_S:
+ _scale_factor = 1000000.f;
+ _unit = "s";
+ break;
+ default:
+ ARM_COMPUTE_ERROR("Invalid scale");
+ }
+ };
+
std::string id() const override;
void start() override;
void stop() override;
@@ -46,6 +67,7 @@ public:
private:
std::chrono::high_resolution_clock::time_point _start{};
std::chrono::high_resolution_clock::time_point _stop{};
+ float _scale_factor{};
};
} // namespace framework
} // namespace test