Merge branch 'master' of riverdale.watson.ibm.com:jsanalysis

This commit is contained in:
Manu Sridharan 2012-11-21 11:39:54 -08:00
commit fea7d4b35d
1 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,43 @@
package com.ibm.wala.util.debug;
/**
* A stop watch that prints log messages.
*
* @author mschaefer
*
*/
public class LoggingStopwatch {
private long start;
/**
* Start the stopwatch.
*/
public void start() {
this.start = System.nanoTime();
}
/**
* Mark the completion of a task, print the time it took to complete,
* and optionally restart the stopwatch.
*
* @param msg message to print
* @param reset whether to restart the stopwatch
* @return the elapsed time in milliseconds
*/
public long mark(String msg, boolean reset) {
long end = System.nanoTime();
long elapsed = (end-start)/1000000;
System.out.println(msg + ": " + elapsed + "ms");
if(reset)
start();
return elapsed;
}
/**
* Convenience method that invokes {@link #mark(String, boolean)} with {@code true}
* as its second argument.
*/
public long mark(String msg) {
return mark(msg, true);
}
}