How do I time a method's execution in Java?

Ogre Psalm33 picture Ogre Psalm33 · Oct 7, 2008 · Viewed 724.3k times · Source
  1. How do I get a method's execution time?
  2. Is there a Timer utility class for things like timing how long a task takes, etc?

Most of the searches on Google return results for timers that schedule threads and tasks, which is not what I want.

Answer

Diastrophism picture Diastrophism · Oct 7, 2008

There is always the old-fashioned way:

long startTime = System.nanoTime();
methodToTime();
long endTime = System.nanoTime();

long duration = (endTime - startTime);  //divide by 1000000 to get milliseconds.