In this example, we will learn to calculate the execution time of normal methods and recursive methods in Java.
Example 1: Java Program to calculate the method execution time
class Main { // create a method public void display() { System.out.println("Calculating Method execution time:"); } // main method public static void main(String[] args) { // create an object of the Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.display(); // get the end time long end = System.nanoTime(); // execution time long execution = end - start; System.out.println("Execution time: " + execution + " nanoseconds"); } }
Output
Calculating Method execution time: Execution time: 656100 nanoseconds
In the above example, we have created a method named display()
. The method prints a statement to the console. The program calculates the execution time of the method display()
.
Here, we have used the method nanoTime()
of the System
class. The nanoTime()
method returns the current value of the running JVM in nanoseconds.
Example 2: Calculate the execution time of Recursive method
class Main { // create a recursive method public int factorial( int n ) { if (n != 0) // termination condition return n * factorial(n-1); // recursive call else return 1; } // main method public static void main(String[] args) { // create object of Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.factorial(128); // get the end time long end = System.nanoTime(); // execution time in seconds long execution = (end - start); System.out.println("Execution time of Recursive Method is"); System.out.println(execution + " nanoseconds"); } }
Output
Execution time of Recursive Method is 18600 nanoseconds
In the above example, we are calculating the execution time of recursive method named factorial()
.