Java-ohjelma menetelmien suorittamisajan laskemiseksi

Tässä esimerkissä opitaan laskemaan normaalien ja rekursiivisten menetelmien suoritusaika Java-sovelluksessa.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java-menetelmät
  • Java-rekursio

Esimerkki 1: Java-ohjelma laskemaan menetelmän suoritusaika

 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"); ) )

Tuotos

 Menetelmän suorittamisajan laskeminen: Suoritusaika: 656100 nanosekuntia

Yllä olevassa esimerkissä olemme luoneet menetelmän nimeltä display(). Menetelmä tulostaa lausunnon konsolille. Ohjelma laskee menetelmän suoritusajan display().

Täällä olemme käyttäneet menetelmää nanoTime()on Systemluokassa. nanoTime()Menetelmä palauttaa nykyisen arvon käynnissä JVM nanosekuntia.

Esimerkki 2: Laske rekursiivisen menetelmän suoritusaika

 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"); ) )

Tuotos

 Rekursiivisen menetelmän suoritusaika on 18600 nanosekuntia

Yllä olevassa esimerkissä laskemme mainitun rekursiivisen menetelmän suoritusajan factorial().

Mielenkiintoisia artikkeleita...