long と Long のパフォーマンス差を調べてみた
primitive 型よりも boxed primitives(primitive のオブジェクト型)の方がパフォーマンスが落ちるということなので、簡単なプログラムで調べてみました。
今回調べたのは、ひとまず実行時間だけです。
環境
OS | Windows XP Home Edition Version 2002 SP3 |
CPU | Intel Core2 Duo T8300 (2.4 GHz) |
メモリ | 3.75 GB (2.39 GHz) |
JDK | 1.6.0_10 |
プログラム
for 文を1千万回ループさせ、そのインデックスをインクリメントするもの。
こんな感じ
for (int i = 0; i < 10000000; i++) { // l が long/Long l += i; }
調査結果
- l が long の場合:15ms
- l が Long の場合:150 〜 240ms
ループが1千万回位になると、10倍位の差が出ました。
今度 NetBeans を導入して、メモリ使用量なども調べてみたいと思います。