English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo esempio, impareremo a calcolare il tempo di esecuzione di metodi normali e ricorsivi in Java.
Per comprendere questo esempio, dovresti conoscere quanto segueProgrammazione JavaArgomento:
class Main { // creare un metodo public void display() { System.out.println("Calcolare il tempo di esecuzione del metodo:"); } //Metodo main public static void main(String[] args) { //Creare un oggetto della classe Main Main obj = new Main(); //Ottieni l'ora di inizio long start = System.nanoTime(); // chiamata al metodo obj.display(); //Ottieni l'ora di fine long end = System.nanoTime(); // tempo di esecuzione long execution = end - start; System.out.println("Tempo di esecuzione: " + execution + " nanosecondi"); } }
Risultato di output
Calcolare il tempo di esecuzione del metodo: Tempo di esecuzione: 656100 nanosecondi
Nell'esempio precedente, abbiamo creato un metodo chiamato display(). Questo metodo esegue un'istruzione di output su una console specifica. Il programma calcola il tempo di esecuzione del metodo display().
In questo caso, abbiamo utilizzato il metodo nanoTime() della classe System. Il metodo nanoTime() restituisce il valore corrente del JVM in nanosecondi.
class Main { // creare un metodo ricorsivo public int factorial(int n) { if (n != 0) // condizione di terminazione return n * factorial(n - 1); // ricorsiva chiamata else return 1; } //Metodo main public static void main(String[] args) { //Creare un oggetto della classe Main Main obj = new Main(); //Ottieni l'ora di inizio long start = System.nanoTime(); //Chiamare il metodo obj.factorial(128); //Ottieni l'ora di fine long end = System.nanoTime(); //Tempo di esecuzione (secondi) long execution = (end - start); System.out.println("Il tempo di esecuzione del metodo ricorsivo è"); System.out.println(execution + " nanosecondi"); } }
Risultato di output
Il tempo di esecuzione del metodo ricorsivo è 18600 nanosecondi
Nell'esempio sopra, stiamo calcolando il tempo di esecuzione della metodo ricorsivo chiamato factorial().