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 |