This is a tutorial about how to use Stopwatch
for measuring elapsed time in Dart.
If you are using Dart and you need to measure how long does a process take to complete, one of the easiest way is using Stopwatch
class.
The class has elapsedTicks
property, which keeps track the elapsed number of clock ticks since calling start()
. Below are the lists of its properties and methods.
Properties
Name | Type | Description |
---|---|---|
elapsed |
Duration |
elapsedTicks as Duration object. |
elapsedMicroseconds |
Duration |
elapsedTicks in microseconds. |
elapsedMilliseconds |
Duration |
elapsedTicks in milliseconds. |
elapsedTicks |
Duration |
elapsedTicks |
frequency |
int |
Elapsed counter frequency (Hz) |
isRunning |
bool |
Whether the stopwatch is running. |
hashCode |
int |
The hash code for this object. |
runtimeType |
Type |
A representation of the runtime type of the object. |
Methods
Name | Type | Description |
---|---|---|
reset() |
void |
Reset time to 0. |
start() |
void |
Start the stopwatch. |
stop() |
void |
Stop the stopwatch. |
Example:
Stopwatch s = new Stopwatch();
sleep(new Duration(seconds: 1));
print(s.elapsedMilliseconds); // 0
s.start();
sleep(new Duration(seconds: 2));
print(s.isRunning); // true
print(s.elapsedMilliseconds); // around 2000ms
sleep(new Duration(seconds: 1));
s.stop();
print(s.elapsedMilliseconds); // around 3000ms
print(s.isRunning); // false
sleep(new Duration(seconds: 1));
print(s.elapsedMilliseconds); // around 3000ms
s.reset();
print(s.elapsedMilliseconds); // 0
To use Stopwatch
, first we have to create an instance of it by calling its constructor which has no argument. However it won't start to measure the time before start()
is called. You can see the output of the above code, the first elapsedMilliseconds
is 0 even after delay.
By calling start()
, the Stopwatch
is started. After around 2 seconds delay, the elapsed time should be 2 seconds and isRunning
should be true
.
Then, the Stopwatch
is stopped (by calling .stop()
) after 1 second delay. The elapsed time should be around 3 seconds. Keep in mind that the elapsed time may not exactly 3 seconds (the total delay time) as it may take a few milliseconds to execute statements.
After another 1 second delay, the elapsed time still remains at 3 seconds as it has been stopped.
By calling reset(), the counter is resetted to 0.
That's how to use Stopwatch
in Dart.