Index: src/base/platform/time.h |
diff --git a/src/base/platform/time.h b/src/base/platform/time.h |
index 834f74a9d9501f5431435312e36dd75bd786d3d7..59aeb483fd892d542b814edc68b9f17e7aaa811d 100644 |
--- a/src/base/platform/time.h |
+++ b/src/base/platform/time.h |
@@ -368,6 +368,31 @@ inline TimeTicks operator+(const TimeDelta& delta, const TimeTicks& ticks) { |
return ticks + delta; |
} |
+ |
+// ThreadTicks ---------------------------------------------------------------- |
+ |
+// Represents a clock, specific to a particular thread, than runs only while the |
+// thread is running. |
+class ThreadTicks final : public time_internal::TimeBase<ThreadTicks> { |
+ public: |
+ ThreadTicks() : TimeBase(0) {} |
+ |
+ // Returns true if ThreadTicks::Now() is supported on this system. |
+ static bool IsSupported(); |
+ |
+ // Returns thread-specific CPU-time on systems that support this feature. |
+ // Needs to be guarded with a call to IsSupported(). Use this timer |
+ // to (approximately) measure how much time the calling thread spent doing |
+ // actual work vs. being de-scheduled. May return bogus results if the thread |
+ // migrates to another CPU between two calls. Returns an empty ThreadTicks |
+ // object until the initialization is completed. |
+ static ThreadTicks Now(); |
+ |
+ private: |
+ // This is for internal use and testing. Ticks is in microseconds. |
fmeawad
2016/05/10 18:12:48
nit: Ticks "are" ?
lpy
2016/05/10 18:37:10
Done.
|
+ explicit ThreadTicks(int64_t ticks) : TimeBase(ticks) {} |
+}; |
+ |
} // namespace base |
} // namespace v8 |