ジェネリクスのパフォーマンス効果とArrayListとVector比較
ArrayListとVectorではArrayListが早いと聞くけど、どの程度違うものか計測してみた。
また、ジェネリクスを使った場合とそうでない場合もどの程度違うのか計測した。
ArrayList(なし) | ArrayList(あり) | Vector(なし) | Vector(あり) |
---|---|---|---|
27ms. | 25ms. | 37ms. | 32ms. |
ミッションクリティカルを気にしなければ結構いい勝負なんじゃないかと思う。
やっぱりジェネリクスはパフォーマンスに効果ありますね。
以下テストソース
import java.util.List; import java.util.Vector; public class ListTest { public static void main(String[] args) { long start = System.currentTimeMillis(); //List list = new ArrayList(); //27ms. //List<Integer> list = new ArrayList<Integer>(); //25ms. //List list = new Vector(); //37ms. List<Integer> list = new Vector<Integer>(); //32ms. for (int i = 0; i < 100000; i++) { list.add(i); } long end = System.currentTimeMillis(); System.out.println(end - start + "ms."); } }