Javaの処理時間を計測する方法
前回エントリ(2009-01-14 - greennoahの日記)ではArrayListとHashSetの処理にかかる時間を、単純にStartとEndの現在時刻を標準出力したものでしたが、Javaの処理時間を計測する場合はSystemクラスのcurrentTimeMillisメソッドを使用した方が良いと思います。
System#currentTimeMillisの使い方は簡単で、StartとEndの現在時刻をそれぞれ取得し、その差分を求めることで処理時間を表すことができます。
例
import java.util.ArrayList; public class Sample { private static final int LOOP_COUNT = 10000; public static void main(final String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); for(int i = 0; i < LOOP_COUNT; i++) list.add(i); long start = System.currentTimeMillis(); for(int iList : list) if(list.contains(iList)){} long end = System.currentTimeMillis(); System.out.println((end - start) + "ms"); } }
結果
690ms
注意
注意しないといけないことは、単位がミリ秒であることです。秒単位で出力する場合は、差分を1000で割る必要があります。
(終了時間 - 開始時間) / 1000