summaryrefslogtreecommitdiff
path: root/absl/time/civil_time_benchmark.cc
diff options
context:
space:
mode:
authorGravatar Fangrui Song <maskray@google.com>2024-02-01 15:05:42 -0800
committerGravatar Copybara-Service <copybara-worker@google.com>2024-02-01 15:06:59 -0800
commit971eada3489dcc991b59df44c559078bfaa1c024 (patch)
tree897699bb9320ef32b5c912ca9ad92a2b68676a1b /absl/time/civil_time_benchmark.cc
parent7339447a7f457f1d8efa6322c971e71afc304d32 (diff)
Decrease the precision of absl::Now in x86-64 debug builds
CycleClock::Now utilizes ABSL_INTERNAL_CYCLECLOCK_SHIFT to discourage reliance on the raw CPU cycle counter values. As a side effect, it discourages strictly-increasing assumption. Apply the idea to discourage over-reliance on the precision of absl::Now/absl::GetCurrentTimeNanos. Programs relying on a very high precision often exhibit portability issues on machines with a lower cycle counter precision, or worse, race conditions. For example, Apple M1 emulated x86 RDTSC only guarantees weakly-increasing RDTSC values. x86 clock speed is usually measured in GHz and is still precise after we drop 8 least significant bits. PiperOrigin-RevId: 603493500 Change-Id: Ib1b00075109283f5dbcb39a43fe0ab722351a1e2
Diffstat (limited to 'absl/time/civil_time_benchmark.cc')
0 files changed, 0 insertions, 0 deletions