Table of Contents
Java アプリケーションでのパフォーマンスの最適化には、コードの実行時間を測定することが重要です。 開発者はボトルネックを特定し、効率性を向上させるのに役立ちます。 この記事では、実行時間を計算し、実用的な例を提供します。
System.nanoTime() の使用
[System.nanoTime()[メソッドは、高解像度時間測定を提供します。ナノ秒で、最も精密な利用可能なシステムタイマーの現在の値を返します。実行時間を測定するには、コードが実行される前に開始時刻と終了時刻を後に記録します。差は、経過時間を示します。
事例:
[ の開始時間 = System.nanoTime();]]
[/// 測定するコード
[ 長の終了時間 = System.nanoTime();]]
長期間 = 終了時間 - 開始時間;
System.currentTimeMillis() の使用
[]System.currentTimeMillis()[メソッドはミリ秒単位で現在の時刻を提供します。よりも精度が低いが、長い期間を測定するのに適しています。前の方法と同様に、コードブロックの周りの開始時刻と終了時刻を記録します。
事例:
長い開始時間 = System.currentTimeMillis();]]
[/// 測定するコード
長の終了時間 = System.currentTimeMillis();]
長期間 = 終了時間 - 開始時間;
Javaのインスタントクラスを使用する
[Instant]]クラスは[]]]java.timeパッケージで、時間測定に近代的なアプローチを提供します。ナノ秒精度を提供し、測定期間に適しています。
事例:
起動 = 初期値 = 初期値 ();)
[/// 測定するコード
インストールエンド = Instant.now();
[] 期間 = 期間 = 期間 = 期間 = 開始、終了;
リアルワールド事例
配列をソートするのにかかる長さを測定したいとします。 []]System.nanoTime() を使うと、次のことを実装できます。
[int[] 配列 = new int[1 000 000];]
[/// 配列をポジレート[]
[ の開始時間 = System.nanoTime();]]
Arrays.sort(array);[]]]
[ 長の終了時間 = System.nanoTime();]]
[System.out.println("Sorting" +(endTime - startTime) + "ナノ秒");]