From 743413746c3161a885cd7db1919a4cd90cbf03ff Mon Sep 17 00:00:00 2001 From: Szymon Pusz Date: Sat, 9 Nov 2013 11:57:59 +0100 Subject: [PATCH] Fix for https://github.com/fatbob313/umurmur/issues/20 Uses monotonic clock instead of gettimeofday() which can provide wrong time if system clock changes (eg.due to NTP time sync, manual time change). After this fix timespan measurements will be always stable and accurate. --- src/timer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/timer.c b/src/timer.c index 5383e0e..55f5f9c 100644 --- a/src/timer.c +++ b/src/timer.c @@ -36,12 +36,12 @@ static uint64_t Timer_now() { - struct timeval tv; + struct timespec ts; uint64_t e; - gettimeofday(&tv, NULL); - e = tv.tv_sec * 1000000LL; - e += tv.tv_usec; + clock_gettime(CLOCK_MONOTONIC, &ts); + e = ts.tv_sec * 1000000LL; + e += ts.tv_nsec / 1000LL; //convert to microseconds return e; } -- 2.30.2