Java-program för att beräkna exekveringstiden för metoder

I det här exemplet lär vi oss att beräkna exekveringstiden för normala metoder och rekursiva metoder i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-metoder
  • Java-rekursion

Exempel 1: Java-program för att beräkna metodens exekveringstid

 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"); ) )

Produktion

 Beräkning av metodens exekveringstid: Exekveringstid: 656100 nanosekunder

I exemplet ovan har vi skapat en metod som heter display(). Metoden skriver ut ett uttalande till konsolen. Programmet beräknar metodens exekveringstid display().

Här har vi använt metoden nanoTime()i Systemklassen. Den nanoTime()metoden returnerar det aktuella värdet av den löpande JVM i nanosekunder.

Exempel 2: Beräkna exekveringstiden för rekursiv metod

 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"); ) )

Produktion

 Exekveringstid för rekursiv metod är 18600 nanosekunder

I exemplet ovan beräknar vi körtiden för den namngivna rekursiva metoden factorial().

Intressanta artiklar...