Bu örnekte, Java'da normal yöntemlerin ve özyinelemeli yöntemlerin çalıştırılma zamanını hesaplamayı öğreneceğiz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Yöntemleri
- Java Özyinelemesi
Örnek 1: Yöntem yürütme süresini hesaplamak için Java Programı
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"); ) )
Çıktı
Hesaplama Yöntemi yürütme süresi: Yürütme süresi: 656100 nanosaniye
Yukarıdaki örnekte, adlı bir yöntem oluşturduk display()
. Yöntem, konsola bir ifade yazdırır. Program, yöntemin uygulama süresini hesaplar display()
.
Burada, yöntem kullandık nanoTime()
ait System
sınıfından. nanoTime()
Yöntem, nanosaniye çalışan JVM mevcut değerini verir.
Örnek 2: Özyinelemeli yöntemin yürütme süresini hesaplayın
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"); ) )
Çıktı
Özyinelemeli Yöntemin yürütme süresi 18600 nanosaniyedir
Yukarıdaki örnekte, isimli özyinelemeli yöntemin yürütme zamanını hesaplıyoruz factorial()
.