(New page: <source lang="java"> * * Compute time duration. * This class is generally used for analyzing the performance of the part of the program.: public class ExecutionTimer { private long...)
 
 
Line 7: Line 7:
 
private long start;
 
private long start;
 
private long end;
 
private long end;
 +
 
public ExecutionTimer() {
 
public ExecutionTimer() {
 
reset();
 
reset();
 
start();
 
start();
 
}
 
}
 +
 
/**
 
/**
 
* Reset timer.
 
* Reset timer.
Line 18: Line 20:
 
end = 0;
 
end = 0;
 
}
 
}
 +
 
/**
 
/**
 
* Set start.
 
* Set start.
Line 26: Line 29:
 
start = System.nanoTime();
 
start = System.nanoTime();
 
}
 
}
 +
 
/**
 
/**
 
* Set end.
 
* Set end.
Line 35: Line 39:
 
return this;
 
return this;
 
}
 
}
 +
 
/**
 
/**
 
* Get duration.
 
* Get duration.
Line 43: Line 48:
 
return (end - start) / 1000000.0;
 
return (end - start) / 1000000.0;
 
}
 
}
 +
 
public void doAll(String notation) {
 
public void doAll(String notation) {
 
System.out.println(notation + " ---> " + ((System.nanoTime() - start) / 1000000.0));
 
System.out.println(notation + " ---> " + ((System.nanoTime() - start) / 1000000.0));

Latest revision as of 04:53, 23 November 2010

/**
 * Compute time duration.
 * This class is generally used for analyzing the performance of the part of the program.
 */
public class ExecutionTimer {
	private long start;
	private long end;
 
	public ExecutionTimer() {
		reset();
		start();
	}
 
	/**
	 * Reset timer.
	 */
	public final void reset() {
		start = 0;
		end = 0;
	}
 
	/**
	 * Set start.
	 */
	public final void start() {
		//----- do not use currentTimeMillis method (it is totally inaccurate)
//		start = System.currentTimeMillis();
		start = System.nanoTime();
	}
 
	/**
	 * Set end.
	 * @return
	 */
	public ExecutionTimer end() {
//		end = System.currentTimeMillis();
		end = System.nanoTime();
		return this;
	}
 
	/**
	 * Get duration.
	 * @return
	 */
	public double duration() {
		//----- in millisecond
		return (end - start) / 1000000.0;
	}
 
	public void doAll(String notation) {
		System.out.println(notation + " ---> " + ((System.nanoTime() - start) / 1000000.0));
		start();
	}
}


Back to JavaHowTo

Alumni Liaison

Meet a recent graduate heading to Sweden for a Postdoctorate.

Christine Berkesch