aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2023-03-25 20:23:17 +0300
committerthegeorg <thegeorg@yandex-team.com>2023-03-25 20:23:17 +0300
commita50a4399c2600b05a086acdca3ba56c957d62196 (patch)
tree2cf3f6cc37ccc6bd19c33a928e07dd6c083cea72 /contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h
parent76f3ccf647d9cff0e38a7989dc89480854107b78 (diff)
downloadydb-a50a4399c2600b05a086acdca3ba56c957d62196.tar.gz
Update contrib/restricted/abseil-cpp-tstring to 20230125.1
Diffstat (limited to 'contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h')
-rw-r--r--contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h21
1 files changed, 3 insertions, 18 deletions
diff --git a/contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h b/contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h
index e75b28d1ad..dc8359dc97 100644
--- a/contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h
+++ b/contrib/restricted/abseil-cpp-tstring/y_absl/base/internal/cycleclock.h
@@ -47,6 +47,7 @@
#include "y_absl/base/attributes.h"
#include "y_absl/base/config.h"
+#include "y_absl/base/internal/cycleclock_config.h"
#include "y_absl/base/internal/unscaledcycleclock.h"
namespace y_absl {
@@ -76,25 +77,9 @@ class CycleClock {
#if Y_ABSL_USE_UNSCALED_CYCLECLOCK
static CycleClockSourceFunc LoadCycleClockSource();
-#ifdef NDEBUG
-#ifdef Y_ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
- // Not debug mode and the UnscaledCycleClock frequency is the CPU
- // frequency. Scale the CycleClock to prevent overflow if someone
- // tries to represent the time as cycles since the Unix epoch.
- static constexpr int32_t kShift = 1;
-#else
- // Not debug mode and the UnscaledCycleClock isn't operating at the
- // raw CPU frequency. There is no need to do any scaling, so don't
- // needlessly sacrifice precision.
- static constexpr int32_t kShift = 0;
-#endif
-#else // NDEBUG
- // In debug mode use a different shift to discourage depending on a
- // particular shift value.
- static constexpr int32_t kShift = 2;
-#endif // NDEBUG
+ static constexpr int32_t kShift = kCycleClockShift;
+ static constexpr double kFrequencyScale = kCycleClockFrequencyScale;
- static constexpr double kFrequencyScale = 1.0 / (1 << kShift);
Y_ABSL_CONST_INIT static std::atomic<CycleClockSourceFunc> cycle_clock_source_;
#endif // Y_ABSL_USE_UNSCALED_CYCLECLOC