Šajā piemērā mēs iemācīsimies aprēķināt Java parasto metožu un rekursīvo metožu izpildes laiku.
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java metodes
- Java rekursija
1. piemērs: Java programma, lai aprēķinātu metodes izpildes laiku
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"); ) )
Rezultāts
Metodes izpildes laika aprēķināšana: Izpildes laiks: 656100 nanosekundes
Iepriekš minētajā piemērā mēs esam izveidojuši metodi ar nosaukumu display()
. Metode izdrukā paziņojumu konsolei. Programma aprēķina metodes izpildes laiku display()
.
Lūk, mēs izmantojām metodi nanoTime()
no System
klases. nanoTime()
Metode atgriež pašreizējo vērtību darbojas JVM nanoseconds.
2. piemērs: Aprēķiniet rekursīvās metodes izpildes laiku
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"); ) )
Rezultāts
Rekursīvās metodes izpildes laiks ir 18600 nanosekundes
Iepriekš minētajā piemērā mēs aprēķinām nosaukto rekursīvo metožu izpildes laiku factorial()
.