Programa Java para calcular o tempo de execução de métodos

Neste exemplo, aprenderemos a calcular o tempo de execução de métodos normais e métodos recursivos em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Métodos Java
  • Java Recursion

Exemplo 1: Programa Java para calcular o tempo de execução do método

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

Resultado

 Tempo de execução do método de cálculo: Tempo de execução: 656100 nanossegundos

No exemplo acima, criamos um método chamado display(). O método imprime uma instrução no console. O programa calcula o tempo de execução do método display().

Aqui, usamos o método nanoTime()da Systemclasse. O nanoTime()método retorna o valor atual da JVM em execução em nanossegundos.

Exemplo 2: calcule o tempo de execução do método recursivo

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

Resultado

 O tempo de execução do método recursivo é 18.600 nanossegundos

No exemplo acima, estamos calculando o tempo de execução do método recursivo denominado factorial().

Artigos interessantes...