long start = System.currentTimeMilis();
{処理}
long end = System.currentTimeMillis();
System.out.println("Calculation Time: " + (end-start)/1000. + " sec");
これは実時間を計測している。
つまり、どのくらいCPUを使ったかとかではなく、現実にかかった時間。
途中で何かのトラブルでCPUをフルに使えなかった場合なんかは、その分時間がかかる。
上の例では単純に計算にかかった時間を表示している。
夜中にバックグラウンドで計算させておいて、朝にいつ計算が終わったのかを知りたいときなんかもある。
そんなときには Date クラスを使う。
Date クラスは非推奨のメソッドがいくつかあるけど、今回の目的にはこれで十分だし、便利。
さっきと同じように、最初と最後に処理をして、計算の開始時刻と終了時刻を timestamp.txt に書き込む。
Date start = new Date();
{処理}
Date end = new Date();
try{
BufferedWriter bw = new BufferedWriter(new FileWriter("timestamp.txt"));
bw.write("start: " + start);
bw.newLine();
bw.write("end: " + end);
bw.flush();
bw.close();
}
catch(IOException ioe){
ioe.printStackTrace();
}
としておくと、timestamp.txt に開始時刻と終了時刻が
曜日 月 DD HH:MM:SS タイムゾーン YYYYのフォーマットで書き込まれる。
タイムゾーンは、例えば、中央ヨーロッパの夏時間なら CEST と書き込まれる。
0 件のコメント:
コメントを投稿