OLD | NEW |
| (Empty) |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library engine.utilities.timing; | |
6 | |
7 /** | |
8 * A `CountedStopwatch` is a [Stopwatch] that counts the number of times the | |
9 * stop method has been invoked. | |
10 */ | |
11 class CountedStopwatch extends Stopwatch { | |
12 /** | |
13 * The number of times the [stop] method has been invoked. | |
14 */ | |
15 int stopCount = 0; | |
16 | |
17 /** | |
18 * Initialize a newly created stopwatch. | |
19 */ | |
20 CountedStopwatch(); | |
21 | |
22 /** | |
23 * The average number of millisecond that were recorded each time the [start] | |
24 * and [stop] methods were invoked. | |
25 */ | |
26 int get averageMilliseconds => elapsedMilliseconds ~/ stopCount; | |
27 | |
28 @override | |
29 void reset() { | |
30 super.reset(); | |
31 stopCount = 0; | |
32 } | |
33 | |
34 @override | |
35 void stop() { | |
36 super.stop(); | |
37 stopCount++; | |
38 } | |
39 } | |
OLD | NEW |