OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_TEST_LAP_TIMER_H_ | 5 #ifndef CC_DEBUG_LAP_TIMER_H_ |
6 #define CC_TEST_LAP_TIMER_H_ | 6 #define CC_DEBUG_LAP_TIMER_H_ |
7 | 7 |
8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
| 9 #include "cc/base/cc_export.h" |
9 | 10 |
10 namespace cc { | 11 namespace cc { |
11 | 12 |
12 // LapTimer is used to calculate average times per "Lap" in perf tests. | 13 // LapTimer is used to calculate average times per "Lap" in perf tests. |
13 // Current() reports the time since the last call to Start(). | 14 // Current() reports the time since the last call to Start(). |
14 // Store() adds the time since the last call to Start() to the accumulator, and | 15 // Store() adds the time since the last call to Start() to the accumulator, and |
15 // resets the start time to now. Stored() returns the accumulated time. | 16 // resets the start time to now. Stored() returns the accumulated time. |
16 // NextLap increments the lap counter, used in counting the per lap averages. | 17 // NextLap increments the lap counter, used in counting the per lap averages. |
17 // If you initialize the LapTimer with a non zero warmup_laps, it will ignore | 18 // If you initialize the LapTimer with a non zero warmup_laps, it will ignore |
18 // the times for that many laps at the start. | 19 // the times for that many laps at the start. |
19 // If you set the time_limit then you can use HasTimeLimitExpired() to see if | 20 // If you set the time_limit then you can use HasTimeLimitExpired() to see if |
20 // the current accumulated time has crossed that threshold, with an optimization | 21 // the current accumulated time has crossed that threshold, with an optimization |
21 // that it only tests this every check_interval laps. | 22 // that it only tests this every check_interval laps. |
22 class LapTimer { | 23 class CC_EXPORT LapTimer { |
23 public: | 24 public: |
24 LapTimer(int warmup_laps, base::TimeDelta time_limit, int check_interval); | 25 LapTimer(int warmup_laps, base::TimeDelta time_limit, int check_interval); |
25 // Resets the timer back to it's starting state. | 26 // Resets the timer back to it's starting state. |
26 void Reset(); | 27 void Reset(); |
27 // Sets the start point to now. | 28 // Sets the start point to now. |
28 void Start(); | 29 void Start(); |
29 // Returns true if there are no more warmup laps to do. | 30 // Returns true if there are no more warmup laps to do. |
30 bool IsWarmedUp(); | 31 bool IsWarmedUp(); |
31 // Advance the lap counter and update the accumulated time. | 32 // Advance the lap counter and update the accumulated time. |
32 // The accumulated time is only updated every check_interval laps. | 33 // The accumulated time is only updated every check_interval laps. |
(...skipping 20 matching lines...) Expand all Loading... |
53 int remaining_warmups_; | 54 int remaining_warmups_; |
54 int remaining_no_check_laps_; | 55 int remaining_no_check_laps_; |
55 base::TimeDelta time_limit_; | 56 base::TimeDelta time_limit_; |
56 int check_interval_; | 57 int check_interval_; |
57 | 58 |
58 DISALLOW_COPY_AND_ASSIGN(LapTimer); | 59 DISALLOW_COPY_AND_ASSIGN(LapTimer); |
59 }; | 60 }; |
60 | 61 |
61 } // namespace cc | 62 } // namespace cc |
62 | 63 |
63 #endif // CC_TEST_LAP_TIMER_H_ | 64 #endif // CC_DEBUG_LAP_TIMER_H_ |
OLD | NEW |