diff options
author | 2014-04-24 20:17:24 +0000 | |
---|---|---|
committer | 2014-04-24 20:17:24 +0000 | |
commit | d0306a15938a971e10dd8648d3e17b001c4b0014 (patch) | |
tree | c4ef3cae52cc3973ae40338ae5019d00375bf21f /src/ports/SkTime_Unix.cpp | |
parent | f1c0135425c6ed415ad303ac99e1a49f6a66a2ad (diff) |
Revert of Add nanosecond timer. (https://codereview.chromium.org/250243002/)
Reason for revert:
breaks EVERYTHING
Original issue's description:
> Add nanosecond timer.
>
> I've been finding it hard to get enough resolution out of our existing timers when measuring really tiny pictures.
>
> BUG=skia:2378
>
> Committed: http://code.google.com/p/skia/source/detail?r=14362
R=bsalomon@google.com, bungeman@google.com, mtklein@chromium.org
TBR=bsalomon@google.com, bungeman@google.com, mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2378
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/258703002
git-svn-id: http://skia.googlecode.com/svn/trunk@14364 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/ports/SkTime_Unix.cpp')
-rw-r--r-- | src/ports/SkTime_Unix.cpp | 40 |
1 files changed, 9 insertions, 31 deletions
diff --git a/src/ports/SkTime_Unix.cpp b/src/ports/SkTime_Unix.cpp index cdf7f3d947..f519a69d07 100644 --- a/src/ports/SkTime_Unix.cpp +++ b/src/ports/SkTime_Unix.cpp @@ -12,8 +12,10 @@ #include <sys/time.h> #include <time.h> -void SkTime::GetDateTime(DateTime* dt) { - if (dt) { +void SkTime::GetDateTime(DateTime* dt) +{ + if (dt) + { time_t m_time; time(&m_time); struct tm* tstruct; @@ -29,33 +31,9 @@ void SkTime::GetDateTime(DateTime* dt) { } } -#ifdef __MACH__ -# include <mach/mach_time.h> - -namespace { - -struct ConversionFactor { - ConversionFactor() { - mach_timebase_info_data_t timebase; - mach_timebase_info(&timebase); - toNanos = (double) timebase.numer / timebase.denom; - } - double toNanos; -}; - -} // namespace - -SkNSec SkTime::GetNSecs() { - static ConversionFactor convert; // Since already know we're on Mac, this is threadsafe. - return mach_absolute_time() * convert.toNanos; +SkMSec SkTime::GetMSecs() +{ + struct timeval tv; + gettimeofday(&tv, NULL); + return (SkMSec) (tv.tv_sec * 1000 + tv.tv_usec / 1000 ); // microseconds to milliseconds } - -#else // Linux, presumably all others too - -SkNSec SkTime::GetNSecs() { - struct timespec time; - clock_gettime(CLOCK_MONOTONIC, &time); - return (SkNSec)(time.tv_sec * 1000000000 + time.tv_nsec); -} - -#endif |