| Index: chrome/browser/sync/util/highres_timer-win32.h
|
| ===================================================================
|
| --- chrome/browser/sync/util/highres_timer-win32.h (revision 26149)
|
| +++ chrome/browser/sync/util/highres_timer-win32.h (working copy)
|
| @@ -1,78 +0,0 @@
|
| -// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -//
|
| -// High resolution timer functions for use in Windows.
|
| -
|
| -#ifndef CHROME_BROWSER_SYNC_UTIL_HIGHRES_TIMER_WIN32_H_
|
| -#define CHROME_BROWSER_SYNC_UTIL_HIGHRES_TIMER_WIN32_H_
|
| -
|
| -#include <windows.h>
|
| -
|
| -// A handy class for reliably measuring wall-clock time with decent resolution,
|
| -// even on multi-processor machines and on laptops (where RDTSC potentially
|
| -// returns different results on different processors and/or the RDTSC timer
|
| -// clocks at different rates depending on the power state of the CPU,
|
| -// respectively).
|
| -class HighresTimer {
|
| - public:
|
| - // Captures the current start time.
|
| - HighresTimer();
|
| -
|
| - // Captures the current tick, can be used to reset a timer for reuse.
|
| - void Start();
|
| -
|
| - // Returns the elapsed ticks with full resolution.
|
| - ULONGLONG GetElapsedTicks() const;
|
| -
|
| - // Returns the elapsed time in milliseconds, rounded to the nearest
|
| - // millisecond.
|
| - ULONGLONG GetElapsedMs() const;
|
| -
|
| - // Returns the elapsed time in seconds, rounded to the nearest second.
|
| - ULONGLONG GetElapsedSec() const;
|
| -
|
| - ULONGLONG start_ticks() const { return start_ticks_; }
|
| -
|
| - // Returns timer frequency from cache, should be less
|
| - // overhead than ::QueryPerformanceFrequency.
|
| - static ULONGLONG GetTimerFrequency();
|
| - // Returns current ticks.
|
| - static ULONGLONG GetCurrentTicks();
|
| -
|
| - private:
|
| - static void CollectPerfFreq();
|
| -
|
| - // Captured start time.
|
| - ULONGLONG start_ticks_;
|
| -
|
| - // Captured performance counter frequency.
|
| - static bool perf_freq_collected_;
|
| - static ULONGLONG perf_freq_;
|
| -};
|
| -
|
| -inline HighresTimer::HighresTimer() {
|
| - Start();
|
| -}
|
| -
|
| -inline void HighresTimer::Start() {
|
| - start_ticks_ = GetCurrentTicks();
|
| -}
|
| -
|
| -inline ULONGLONG HighresTimer::GetTimerFrequency() {
|
| - if (!perf_freq_collected_)
|
| - CollectPerfFreq();
|
| - return perf_freq_;
|
| -}
|
| -
|
| -inline ULONGLONG HighresTimer::GetCurrentTicks() {
|
| - LARGE_INTEGER ticks;
|
| - ::QueryPerformanceCounter(&ticks);
|
| - return ticks.QuadPart;
|
| -}
|
| -
|
| -inline ULONGLONG HighresTimer::GetElapsedTicks() const {
|
| - return start_ticks_ - GetCurrentTicks();
|
| -}
|
| -
|
| -#endif // CHROME_BROWSER_SYNC_UTIL_HIGHRES_TIMER_WIN32_H_
|
|
|
|
|