English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos a calcular el tiempo de ejecución de métodos normales y recursivos en Java.
Para entender este ejemplo, debes conocer lo siguienteProgramación JavaTema:
class Main { //Crear un método public void display() { System.out.println("Calcular el tiempo de ejecución del método:"); } // Método main public static void main(String[] args) { //Crear el objeto de la clase Main Main obj = new Main(); //Obtener la hora de inicio long start = System.nanoTime(); // Llamar al método obj.display(); //Obtener la hora de finalización long end = System.nanoTime(); //Tiempo de ejecución long execution = end - start; System.out.println("Tiempo de ejecución:") + execution + " 纳秒"); } }
Resultados de salida
Calcular el tiempo de ejecución del método: Tiempo de ejecución: 656100 nanosegundos
En el ejemplo anterior, hemos creado un método llamado display(). Este método imprime una sentencia en la consola especificada. El programa calculará el tiempo de ejecución del método display().
Aquí, hemos utilizado el método nanoTime() de la clase System. Este método nanoTime() devuelve el valor actual del JVM en nanosegundos.
class Main { //Crear un método recursivo public int factorial(int n) { if (n != 0) //Condición de terminación return n * factorial(n-1); //Llamada recursiva else return 1; } // Método main public static void main(String[] args) { //Crear el objeto de la clase Main Main obj = new Main(); //Obtener la hora de inicio long start = System.nanoTime(); //Llamar al método obj.factorial(128); //Obtener la hora de finalización long end = System.nanoTime(); //Tiempo de ejecución (segundos) long execution = (end - start); System.out.println("El tiempo de ejecución del método recursivo es"); System.out.println(execution + " 纳秒"); } }
Resultados de salida
El tiempo de ejecución del método recursivo es 18600 纳秒
En el ejemplo anterior, estamos calculando el tiempo de ejecución de un método recursivo llamado factorial().