This article is participating in the Java Theme Month – Java Debug Notes Event, see the event link for details
How do I time the execution of a method in Java?
How do I get the execution time of a method? Is there a Timer utility class that handles things like how long a timed task takes?
Most searches on Google return results for timers that schedule threads and tasks, which IS not what I want.
Answer:
There’s always the old-fashioned way:
long startTime = System.nanoTime();
methodToTime();
long endTime = System.nanoTime();
long duration = (endTime - startTime); //divide by 1000000 to get milliseconds.
Copy the code
Answer:
I accept the simple answer. Work for me.
long startTime = System.currentTimeMillis();
doReallyLongThing();
long endTime = System.currentTimeMillis();
System.out.println("That took " + (endTime - startTime) + " milliseconds");
Copy the code
Answer:
Come on, guys! No one mentioned Guava’s (awesome) approach:
import com.google.common.base.Stopwatch;
Stopwatch timer = Stopwatch.createStarted();
//method invocation
LOG.info("Method took: " + timer.stop());
Copy the code
Happily, stopwatch.toString () does a good job of choosing units of time to measure. That is, 38 ns will be printed if the value is small, and 5m 3s will be displayed if the value is long
Better:
Stopwatch timer = Stopwatch.createUnstarted();
for (...) {
timer.start();
methodToTrackTimeFor();
timer.stop();
methodNotToTrackTimeFor();
}
LOG.info("Method took: " + timer);
Copy the code
Note: Google Guava requires Java 1.6+
The article translated from am2dgbqfb6mk75jcyanzabc67y ac4c6men2g7xr2a – stackoverflow – com. Translate. Goog/questions / 1…
The author suggests: I have always tested in this simple way
Thank you for reading this, if this article is well written and if you feel there is something to it
Ask for a thumbs up 👍 ask for attention ❤️ ask for share 👥 for 8 abs I really very useful!!
If there are any mistakes in this blog, please comment, thank you very much! ❤ ️ ❤ ️ ❤ ️ ❤ ️