En este ejemplo, aprenderemos a calcular el tiempo de ejecución de métodos normales y métodos recursivos en Java.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:
- Métodos Java
- Recursión de Java
Ejemplo 1: Programa Java para calcular el tiempo de ejecución del 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"); ) )
Salida
Tiempo de ejecución del método de cálculo: Tiempo de ejecución: 656100 nanosegundos
En el ejemplo anterior, hemos creado un método llamado display()
. El método imprime una declaración en la consola. El programa calcula el tiempo de ejecución del método display()
.
Aquí, hemos utilizado el método nanoTime()
de la System
clase. El nanoTime()
método devuelve el valor actual de la JVM en ejecución en nanosegundos.
Ejemplo 2: Calcule el tiempo de ejecución del 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"); ) )
Salida
El tiempo de ejecución del método recursivo es de 18600 nanosegundos
En el ejemplo anterior, estamos calculando el tiempo de ejecución del método recursivo denominado factorial()
.