I dette eksemplet vil vi lære å beregne utførelsestiden for normale metoder og rekursive metoder i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-metoder
- Java-rekursjon
Eksempel 1: Java-program for å beregne utførelsestiden for metoden
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"); ) )
Produksjon
Beregning av metodeutførelsestid: Utførelsestid: 656100 nanosekunder
I eksemplet ovenfor har vi laget en metode som heter display()
. Metoden skriver ut en uttalelse til konsollen. Programmet beregner gjennomføringstiden for metoden display()
.
Her har vi brukt metoden nanoTime()
i System
klassen. Den nanoTime()
metoden returnerer den nåværende verdien av det løpende JVM i nanosekunder.
Eksempel 2: Beregn utførelsestiden for rekursiv metode
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"); ) )
Produksjon
Gjennomføringstid for rekursiv metode er 18600 nanosekunder
I eksemplet ovenfor beregner vi utførelsestiden til den rekursive metoden som heter factorial()
.