覚書

日々学んだことをつらつらと

ArrayList とLinkedList のadd()速さ比べ

環境 Windows 64bit jdk1.8.0_66

以下、検証コード

ArrayList::addとLinkedList::addの速度比較

結果

==============================================
 1回目 ArrayListへのAdd速度  :    797418 
 1回目 LinkedListへのAdd速度 :   3009908 
==============================================
==============================================
 2回目 ArrayListへのAdd速度  :   1820936 
 2回目 LinkedListへのAdd速度 :   1659835 
==============================================
==============================================
 3回目 ArrayListへのAdd速度  :   1784859 
 3回目 LinkedListへのAdd速度 :   1707108 
==============================================
==============================================
 4回目 ArrayListへのAdd速度  :   1812539 
 4回目 LinkedListへのAdd速度 :   1931342 
==============================================
==============================================
 5回目 ArrayListへのAdd速度  :   1708974 
 5回目 LinkedListへのAdd速度 :   1655791 
==============================================
==============================================
 6回目 ArrayListへのAdd速度  :   1534499 
 6回目 LinkedListへのAdd速度 :   1523615 
==============================================
==============================================
 7回目 ArrayListへのAdd速度  :   1543830 
 7回目 LinkedListへのAdd速度 :   1472920 
==============================================
==============================================
 8回目 ArrayListへのAdd速度  :    814212 
 8回目 LinkedListへのAdd速度 :    801149 
==============================================
==============================================
 9回目 ArrayListへのAdd速度  :    738326 
 9回目 LinkedListへのAdd速度 :   1438088 
==============================================
==============================================
10回目 ArrayListへのAdd速度  :    869570 
10回目 LinkedListへのAdd速度 :    755432 
==============================================
==============================================
11回目 ArrayListへのAdd速度  :    821676 
11回目 LinkedListへのAdd速度 :    648135 
==============================================
==============================================
12回目 ArrayListへのAdd速度  :    682345 
12回目 LinkedListへのAdd速度 :    578470 
==============================================
==============================================
13回目 ArrayListへのAdd速度  :    676125 
13回目 LinkedListへのAdd速度 :    502895 
==============================================
==============================================
14回目 ArrayListへのAdd速度  :    657776 
14回目 LinkedListへのAdd速度 :    495432 
==============================================

結論:余り変わらない。少しは違うけど、1万件で0.1秒も変わらないならスロークエリを直した方が良い。

8回目ぐらいからJITの影響か早くなっている。