Ebben a példában megtanuljuk kiszámolni a normál és rekurzív módszerek végrehajtási idejét a Java-ban.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java módszerek
- Java rekurzió
1. példa: Java program a módszer végrehajtási idejének kiszámításához
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"); ) )
Kimenet
A módszer végrehajtási idejének kiszámítása: A végrehajtás ideje: 656100 nanoszekundum
A fenti példában létrehoztunk egy nevű módszert display()
. A módszer egy utasítást nyomtat a konzolra. A program kiszámítja a módszer végrehajtási idejét display()
.
Itt nanoTime()
az System
osztály módszerét használtuk . A nanoTime()
módszer a futó JVM aktuális értékét adja vissza nanoszekundumokban.
2. példa: Számítsa ki a rekurzív módszer végrehajtási idejét
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"); ) )
Kimenet
A rekurzív módszer végrehajtási ideje 18600 nanoszekundum
A fenti példában kiszámítjuk a megnevezett rekurzív módszer végrehajtási idejét factorial()
.