diff options
author | Fernando S <fsahmkow27@gmail.com> | 2023-10-10 11:48:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-10 11:48:06 +0200 |
commit | b28b05e2aafc2ee3fff67eee8d81ecf56267f2a3 (patch) | |
tree | 9e456a3b5837af571240a500b8960f65f7d5a73a /src/common/wall_clock.cpp | |
parent | 8151a4d30121bb75500c94c1e70d665ba63146c8 (diff) | |
parent | 21bc2c14bc7408427a8b4851a7a3f15251f2afa8 (diff) |
Merge pull request #11718 from liamwhite/arm64-native-clock
common: add arm64 native clock
Diffstat (limited to 'src/common/wall_clock.cpp')
-rw-r--r-- | src/common/wall_clock.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/common/wall_clock.cpp b/src/common/wall_clock.cpp index 71e15ab4c..caca9a123 100644 --- a/src/common/wall_clock.cpp +++ b/src/common/wall_clock.cpp @@ -10,6 +10,10 @@ #include "common/x64/rdtsc.h" #endif +#if defined(ARCHITECTURE_arm64) && defined(__linux__) +#include "common/arm64/native_clock.h" +#endif + namespace Common { class StandardWallClock final : public WallClock { @@ -53,7 +57,7 @@ private: }; std::unique_ptr<WallClock> CreateOptimalClock() { -#ifdef ARCHITECTURE_x86_64 +#if defined(ARCHITECTURE_x86_64) const auto& caps = GetCPUCaps(); if (caps.invariant_tsc && caps.tsc_frequency >= std::nano::den) { @@ -64,6 +68,8 @@ std::unique_ptr<WallClock> CreateOptimalClock() { // - Is not more precise than 1 GHz (1ns resolution) return std::make_unique<StandardWallClock>(); } +#elif defined(ARCHITECTURE_arm64) && defined(__linux__) + return std::make_unique<Arm64::NativeClock>(); #else return std::make_unique<StandardWallClock>(); #endif |