Chromium Code Reviews| 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 |