private static final long start = System.nanoTime();
public static void main(String[] args) {
Double d = null;
for (double i = -10000000.0; i < 10000000.0; i += 0.1) {
d = new Double(i * i + 1 - (i / (2 * i)));
}
long end = System.nanoTime() - start;
System.out.println("new Double() : " + (end / 1000000000.0));
}


private static final long start = System.nanoTime();
public static void main(String[] args) {
Double d = null;
for (double i = -10000000.0; i < 10000000.0; i += 0.1) {
d = Double.valueOf(i * i + 1 - (i / (2 * i)));
}
long end = System.nanoTime() - start;
System.out.println("Double.valueOf() : " + (end / 1000000000.0));
}


これでベンチマークした結果。どちらも、一方が遅くなったり早くなったりの繰り返し。
-serverオプションつけるとどちらも倍近く早くなってますます、どちらがパフォーマンスが
良いのかわからなくなってきた。