ucb.util
Class Stopwatch

java.lang.Object
  extended by ucb.util.Stopwatch

public class Stopwatch
extends Object

A simple timer class based on elapsed wall-clock time. May be stopped and started under program control, and provides both accumulated time and time since last started in units of msec. At any given point, a given timer has some number of properly nested subtimers running. While one subtimer is running, you can start and stop another, allowing you to time parts of some larger activity while still computing the time for the entire activity.


Constructor Summary
Stopwatch()
          A stopped timer (! isRunning ()) with 0msec accumulated time.
 
Method Summary
 long getAccum()
          The total time in milliseconds that isRunning () has been true since THIS was created or reset.
 long getElapsed()
          The time in milliseconds since the latest, still-running subtimer started.
 int getRunning()
          The number of nested subtimers currently running.
 boolean isRunning()
          True iff there are subtimers of THIS running.
 void reset()
          Stop all subtimers, and set accumulated time to 0.
 void start()
          Start a new subtimer at the current time.
 long stop()
          Stops the most recently started, still-running subtimer, returning the time elapsed since it started in milliseconds.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Stopwatch

public Stopwatch()
A stopped timer (! isRunning ()) with 0msec accumulated time.

Method Detail

isRunning

public boolean isRunning()
True iff there are subtimers of THIS running.


getRunning

public int getRunning()
The number of nested subtimers currently running.


start

public void start()
Start a new subtimer at the current time.


stop

public long stop()
Stops the most recently started, still-running subtimer, returning the time elapsed since it started in milliseconds. Throws IllegalStateException if !isRunning ().


getElapsed

public long getElapsed()
The time in milliseconds since the latest, still-running subtimer started. Throws IllegalStateException if !isRunning ().


getAccum

public long getAccum()
The total time in milliseconds that isRunning () has been true since THIS was created or reset.


reset

public void reset()
Stop all subtimers, and set accumulated time to 0.