U ovom ćemo primjeru naučiti izračunati vrijeme izvršavanja normalnih metoda i rekurzivnih metoda u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java metode
- Java rekurzija
Primjer 1: Java program za izračunavanje vremena izvršavanja metode
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"); ) )
Izlaz
Vrijeme izvršenja metode izračuna: Vrijeme izvršenja: 656100 nanosekundi
U gornjem primjeru stvorili smo metodu imenovanu display()
. Metoda ispisuje izjavu na konzolu. Program izračunava vrijeme izvršenja metode display()
.
Ovdje smo koristili metodu nanoTime()
u System
klasi. nanoTime()
Metoda vraća trenutnu vrijednost trčanje JVM u nanosekundi.
Primjer 2: Izračunajte vrijeme izvršavanja rekurzivne 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"); ) )
Izlaz
Vrijeme izvršavanja rekurzivne metode je 18600 nanosekundi
U gornjem primjeru izračunavamo vrijeme izvršenja imenovane rekurzivne metode factorial()
.