Tag: 性能与

为什么编译器如此愚蠢?

我总是想知道为什么编译器无法弄清楚人眼所见的简单的事情。 他们做了很多简单的优化,但从来没有一点点复杂。 例如,这段代码在我的电脑上需要大约6秒的时间来打印零值(使用java 1.6): int x = 0; for (int i = 0; i < 100 * 1000 * 1000 * 1000; ++i) { x += x + x + x + x + x; } System.out.println(x); 这是完全明显的,x从来没有改变,所以不pipe你多久添加0自己它保持为零。 所以编译器理论上可以用System.out.println(0)来代替它。 甚至更好,这需要23秒: public int slow() { String s = "x"; for (int i = 0; i < […]