Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで経過時間を測定する方法は?


一般に、経過時間は、イベントの開始点から終了点までの時間です。以下は、Javaで経過時間を見つけるためのさまざまな方法です-

currentTimeMillis()メソッドの使用

currentTimeMillis()メソッドは、現在の時刻をミリ秒単位で返します。メソッドの経過時間を見つけるには、目的のメソッドの実行前後の時間値の差を取得できます。

public class Example {
   public void test(){
int num = 0;
      for(int i=0; i<=50; i++){  
         num =num+i;
         System.out.print(num+", ");
      }  
   }
   public static void main(String args[]){  
      //Start time
      long begin = System.currentTimeMillis();
      //Starting the watch
      new Example().test();
      //End time
      long end = System.currentTimeMillis();
      long time = end-begin;
      System.out.println();
      System.out.println("Elapsed Time: "+time +" milli seconds");
   }
}

出力

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275,
Elapsed Time: 4 milli seconds

nanoTime()メソッドの使用

nanoTime()メソッドは、現在の時刻をナノ秒単位で返します。メソッドの経過時間を見つけるには、目的のメソッドの実行前後の時間値の差を取得できます。

public class Example {
   public void test(){
      int num = 0;
      for(int i=0; i<=50; i++){  
         num =num+i;
         System.out.print(num+", ");
      }  
   }
   public static void main(String args[]){  
      //Start time
      long begin = System.nanoTime();
      //Starting the watch
      new Example().test();
      //End time
      long end = System.nanoTime();
      long time = end-begin;
      System.out.println();
      System.out.println("Elapsed Time: "+time);
   }
}

出力

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275,
Elapsed Time: 1530200

Instantクラスの使用

Instantクラスのnow()メソッドは現在の時刻を返し、Duration.between()メソッドは指定された2つの時刻値の差を返し、経過時間を取得して目的のメソッドの実行前後の時刻値を取得し、取得しますduration.between()メソッドを使用した期間。

import java.time.Duration;
import java.time.Instant;
public class Example {
   public void test(){
      int num = 0;
      for(int i=0; i<=50; i++){  
         num =num+i;
         System.out.print(num+", ");
      }  
   }
   public static void main(String args[]) {  
      //Starting time
      Instant start = Instant.now();
      new Example().test();
      //End time
      Instant end = Instant.now();
      long time = Duration.between(start, end).toMillis();
      System.out.println();
      System.out.println(time+" Milli seconds");

   }
}

出力

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275,
3 Milli seconds

StopWatchクラスの使用

Apache Commonsライブラリは、Stopwatchと呼ばれるクラスを提供し、メソッドの実行にかかる時間を見つけるためのstart()stop()メソッドとgetTime()メソッドを提供します。

以下は、このパッケージのMavenファイルです-

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.7</version>
</dependency>

import org.apache.commons.lang3.time.StopWatch;
public class Example {
   public void test(){
      int num = 0;
      for(int i=0; i<=50; i++){  
         num =num+i;
         System.out.print(num+", ");
      }  
   }
   public static void main(String args[]) {  
      //Instantiating the StopWatch class
      StopWatch obj = new StopWatch();
      //Starting the watch
      obj.start();
      new Example().test();
      //Stopping the watch
      obj.stop();
      System.out.println();
      System.out.println("Elapsed Time: "+obj.getTime() +" milli seconds");
   }
}

出力

0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275,
Elapsed Time: 1 milli seconds

  1. Pythonで経過時間を測定する方法は?

    プログラムの実行中に経過した時間を測定するには、time.clock()またはtime.time()関数を使用します。 Pythonのドキュメントには、この関数はベンチマークの目的で使用する必要があると記載されています。 例 import time t0= time.clock() print("Hello") t1 = time.clock() - t0 print("Time elapsed: ", t1) # CPU seconds elapsed (floating point) 出力 これにより、出力が得られます- Time elapsed

  2. Pythonで高精度に時間を測定する方法は?

    時間を高精度で測定するには、time.clock()またはtime.time()関数を使用します。 Pythonのドキュメントには、この関数はベンチマークの目的で使用する必要があると記載されています。 例 import time t0= time.clock() print("Hello") t1 = time.clock() - t0 print("Time elapsed: ", t1 - t0) # CPU seconds elapsed (floating point) 出力 これにより、出力が得られます- Time elapsed: &nbs