V tomto príklade sa naučíme počítať čas vykonávania bežných metód a rekurzívnych metód v Jave.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Metódy Java
- Java rekurzia
Príklad 1: Program Java na výpočet času vykonania metódy
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"); ) )
Výkon
Výpočet doby vykonania metódy: Čas vykonania: 65 6 100 nanosekúnd
Vo vyššie uvedenom príklade sme vytvorili metódu s názvom display()
. Metóda vytlačí vyhlásenie na konzolu. Program počíta čas vykonania metódy display()
.
Tu sme použili metódu nanoTime()
tejto System
triedy. nanoTime()
Metóda vracia aktuálnu hodnotu beží JVM v nanosekundách.
Príklad 2: Vypočítajte čas vykonania rekurzívnej metódy
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"); ) )
Výkon
Čas vykonania rekurzívnej metódy je 18 600 nanosekúnd
Vo vyššie uvedenom príklade počítame čas vykonania rekurzívnej metódy s názvom factorial()
.