В този пример ще се научим да изчисляваме времето за изпълнение на нормални методи и рекурсивни методи в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java методи
- Java рекурсия
Пример 1: Програма Java за изчисляване на времето за изпълнение на метода
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"); ) )
Изход
Време за изпълнение на метода за изчисляване: Време за изпълнение: 656100 наносекунди
В горния пример създадохме метод с име display()
. Методът отпечатва изявление в конзолата. Програмата изчислява времето за изпълнение на метода display()
.
Тук използвахме метода nanoTime()
на System
класа. В nanoTime()
метода връща текущата стойност на текущата JVM в наносекунди.
Пример 2: Изчислете времето за изпълнение на рекурсивния метод
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"); ) )
Изход
Времето за изпълнение на рекурсивния метод е 18600 наносекунди
В горния пример изчисляваме времето за изпълнение на именувания рекурсивен метод factorial()
.