Javaでプロセスの実行時間を測定する方法

Javaでは、**System.currentTimeMillis()**か**System.nanoTime()**を用いてプログラム実行時間を計測できます。

  1. System.currentTimeMillis()メソッドを使用する:
long startTime = System.currentTimeMillis();
// 程序主体代码
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(毫秒):" + elapsedTime);
  1. System.nanoTime() メソッドを使う
long startTime = System.nanoTime();
// 程序主体代码
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(纳秒):" + elapsedTime);

両メソッドの違いは精度と可読性の有無にあります。System.currentTimeMillis()は1970年1月1日00:00:00 UTCからのミリ秒数を返しますが、精度がミリ秒になります。一方System.nanoTime()はシステムのナノ秒数を返しますが、より精度が高く、相対時刻を返すため可読性はありません。

別の方法として、繰り返し処理時間を測定する必要がある場合は、タイマーのクラスを使用して上記のコードをラップできます。例:

public class Timer {
private long startTime;
private long endTime;
public void start() {
startTime = System.nanoTime();
}
public void end() {
endTime = System.nanoTime();
}
public long getElapsedTime() {
return endTime - startTime;
}
}

使用例:

Timer timer = new Timer();
timer.start();
// 程序主体代码
timer.end();
System.out.println("程序执行时间(纳秒):" + timer.getElapsedTime());
bannerAds