aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/WallClockTimer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/WallClockTimer.hpp')
-rw-r--r--src/armnn/WallClockTimer.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/armnn/WallClockTimer.hpp b/src/armnn/WallClockTimer.hpp
index 88cbb4d50d..197ad7d1b7 100644
--- a/src/armnn/WallClockTimer.hpp
+++ b/src/armnn/WallClockTimer.hpp
@@ -11,7 +11,7 @@
namespace armnn
{
-// Clock class that uses the same timestamp function as the Mali DDK.
+// Clock class that uses the same timestamp function as the Mali DDK where possible.
class monotonic_clock_raw {
public:
using duration = std::chrono::nanoseconds;
@@ -19,9 +19,15 @@ public:
static std::chrono::time_point<monotonic_clock_raw, std::chrono::nanoseconds> now() noexcept
{
+#if defined(__unix__)
timespec ts;
clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
- return time_point(std::chrono::nanoseconds(ts.tv_sec*1000000000 + ts.tv_nsec));
+ return time_point(std::chrono::nanoseconds(ts.tv_sec * 1000000000 + ts.tv_nsec));
+#else
+ // On other platforms we have to make do with the standard C++ API, which may not exactly match
+ // the Mali DDK.
+ return std::chrono::time_point<monotonic_clock_raw, std::chrono::nanoseconds>();
+#endif
}
};