summaryrefslogtreecommitdiff
path: root/src/mongo/util/timer.h
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2015-07-28 18:16:39 -0400
committerMark Benvenuto <mark.benvenuto@mongodb.com>2015-07-28 18:27:27 -0400
commitb66e993f1c742518d9b5e93b0d8a5f8255a4127c (patch)
tree55e6fed05333d2d37f34586726a342ed7f7dbc29 /src/mongo/util/timer.h
parent314a22e93f283ab80e650618cbd3ed8babb8510f (diff)
downloadmongo-b66e993f1c742518d9b5e93b0d8a5f8255a4127c.tar.gz
SERVER-18579: Clang-Format - reformat code, no comment reflow
Diffstat (limited to 'src/mongo/util/timer.h')
-rw-r--r--src/mongo/util/timer.h137
1 files changed, 73 insertions, 64 deletions
diff --git a/src/mongo/util/timer.h b/src/mongo/util/timer.h
index 8ee85928f73..98009e972b0 100644
--- a/src/mongo/util/timer.h
+++ b/src/mongo/util/timer.h
@@ -33,70 +33,79 @@
namespace mongo {
+/**
+ * Time tracking object.
+ *
+ * Should be of reasonably high performance, though the implementations are platform-specific.
+ * Each platform provides a distinct implementation of the now() method, and sets the
+ * _countsPerSecond static field to the constant number of ticks per second that now() counts
+ * in. The maximum span measurable by the counter and convertible to microseconds is about 10
+ * trillion ticks. As long as there are fewer than 100 ticks per nanosecond, timer durations of
+ * 2.5 years will be supported. Since a typical tick duration will be under 10 per nanosecond,
+ * if not below 1 per nanosecond, this should not be an issue.
+ */
+class MONGO_CLIENT_API Timer /*copyable*/ {
+public:
+ static const long long millisPerSecond = 1000;
+ static const long long microsPerSecond = 1000 * millisPerSecond;
+ static const long long nanosPerSecond = 1000 * microsPerSecond;
+
+ Timer() {
+ reset();
+ }
+ int seconds() const {
+ return (int)(micros() / 1000000);
+ }
+ int millis() const {
+ return (int)(micros() / 1000);
+ }
+ int minutes() const {
+ return seconds() / 60;
+ }
+
+
+ /** Get the time interval and reset at the same time.
+ * @return time in milliseconds.
+ */
+ inline int millisReset() {
+ const long long nextNow = now();
+ const long long deltaMicros = static_cast<long long>((nextNow - _old) * _microsPerCount);
+
+ _old = nextNow;
+ return static_cast<int>(deltaMicros / 1000);
+ }
+
+ inline long long micros() const {
+ return static_cast<long long>((now() - _old) * _microsPerCount);
+ }
+
+ inline void reset() {
+ _old = now();
+ }
+
+ inline static void setCountsPerSecond(long long countsPerSecond) {
+ _countsPerSecond = countsPerSecond;
+ _microsPerCount = static_cast<double>(microsPerSecond) / _countsPerSecond;
+ }
+
+ inline static long long getCountsPerSecond() {
+ return _countsPerSecond;
+ }
+
+private:
/**
- * Time tracking object.
- *
- * Should be of reasonably high performance, though the implementations are platform-specific.
- * Each platform provides a distinct implementation of the now() method, and sets the
- * _countsPerSecond static field to the constant number of ticks per second that now() counts
- * in. The maximum span measurable by the counter and convertible to microseconds is about 10
- * trillion ticks. As long as there are fewer than 100 ticks per nanosecond, timer durations of
- * 2.5 years will be supported. Since a typical tick duration will be under 10 per nanosecond,
- * if not below 1 per nanosecond, this should not be an issue.
+ * Internally, the timer counts platform-dependent ticks of some sort, and
+ * must then convert those ticks to microseconds and their ilk. This field
+ * stores the frequency of the platform-dependent counter.
*/
- class MONGO_CLIENT_API Timer /*copyable*/ {
- public:
- static const long long millisPerSecond = 1000;
- static const long long microsPerSecond = 1000 * millisPerSecond;
- static const long long nanosPerSecond = 1000 * microsPerSecond;
-
- Timer() { reset(); }
- int seconds() const { return (int)(micros() / 1000000); }
- int millis() const { return (int)(micros() / 1000); }
- int minutes() const { return seconds() / 60; }
-
-
- /** Get the time interval and reset at the same time.
- * @return time in milliseconds.
- */
- inline int millisReset() {
- const long long nextNow = now();
- const long long deltaMicros =
- static_cast<long long>((nextNow - _old) * _microsPerCount);
-
- _old = nextNow;
- return static_cast<int>(deltaMicros / 1000);
- }
-
- inline long long micros() const {
- return static_cast<long long>((now() - _old) * _microsPerCount);
- }
-
- inline void reset() { _old = now(); }
-
- inline static void setCountsPerSecond(long long countsPerSecond) {
- _countsPerSecond = countsPerSecond;
- _microsPerCount = static_cast<double>(microsPerSecond) / _countsPerSecond;
- }
-
- inline static long long getCountsPerSecond() {
- return _countsPerSecond;
- }
-
- private:
- /**
- * Internally, the timer counts platform-dependent ticks of some sort, and
- * must then convert those ticks to microseconds and their ilk. This field
- * stores the frequency of the platform-dependent counter.
- */
- static long long _countsPerSecond;
-
- // Derived value from _countsPerSecond. This represents the conversion ratio
- // from clock ticks to microseconds.
- static double _microsPerCount;
-
- long long now() const;
-
- long long _old;
- };
+ static long long _countsPerSecond;
+
+ // Derived value from _countsPerSecond. This represents the conversion ratio
+ // from clock ticks to microseconds.
+ static double _microsPerCount;
+
+ long long now() const;
+
+ long long _old;
+};
} // namespace mongo