To be more precise, I would use nanoTime()
method rather than currentTimeMillis()
:
long startTime = System.nanoTime(); myCall(); long stopTime = System.nanoTime(); System.out.println(stopTime - startTime);
In Java 8 (output format is ISO-8601):
Instant start = Instant.now(); Thread.sleep(63553); Instant end = Instant.now(); System.out.println(Duration.between(start, end)); // prints PT1M3.553S
Guava Stopwatch:
Stopwatch stopwatch = Stopwatch.createStarted(); myCall(); stopwatch.stop(); // optional System.out.println("Time elapsed: "+ stopwatch.elapsed(TimeUnit.MILLISECONDS));