import java.util.Hashtable; public class StopWatch { private static final Hashtable startTime = new Hashtable(); public static void start(String id){ startTime.put(id,new Long(System.currentTimeMillis())); } public static long stop(String id){ return System.currentTimeMillis() - ((Long)startTime.remove(id)).longValue(); } }
Example of use :
public main(String[] args) { // Start a global stopwatch StopWatch.start("GLOBAL"); // evaluate time used by task 1 StopWatch.start("TASK1"); executeTask1(); System.out.println("Time elapsed for task 1 : " + StopWatch.stop("TASK1") + "ms"; // evaluate time used by task 2 StopWatch.start("TASK2"); executeTask2(); System.out.println("Time elapsed for task 2 : " + StopWatch.stop("TASK2") + "ms"; // Display time elapsed for full processing System.out.println("Total processing time : " + StopWatch.stop("GLOBAL") + "ms"; }