By Alvin Alexander. Last updated: October 7, 2016
I think I found the Java Stopwatch class (shown below) many years ago in a book named Java Platform Performance. You can use the class for general performance timings, or make it part of an overall benchmarking system.
I take no credit for this Java code — I didn’t write it, and at the moment I can’t find that book — but I found it on my laptop, and wanted to make sure I have a copy of it laying around for when I need it.
/** * Author unknown, but I think this is from a book * named "Java Platform Performance". */ public class Stopwatch { private long startTime = -1; private long stopTime = -1; private boolean running = false; public Stopwatch start() { startTime = System.currentTimeMillis(); running = true; return this; } public Stopwatch stop() { stopTime = System.currentTimeMillis(); running = false; return this; } public long getElapsedTime() { if (startTime == -1) { return 0; } if (running) { return System.currentTimeMillis() - startTime; } else { return stopTime - startTime; } } public Stopwatch reset() { startTime = -1; stopTime = -1; running = false; return this; } public static void main(String[] args) { Stopwatch s = new Stopwatch(); s.start(); // your code runs here s.stop(); System.err.println("elapsed time: " + s.getElapsedTime()); } }