Java双精度数组比对象实例更快

时间:2016-07-12 03:47:34

标签: java

这样做效率更高:

double[] a = new double[5];
for (int i = 0; i < a.length; i++) {
    a[i] = i;
}

而不是:

public class DataStore {
    public double a, b, c, d, e;

    public DataStore(double a, double b, double c, double d, double e) {
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
        this.e = e;
    }
}
...
new DataStore(0, 1, 2, 3, 4);

使用“double []”数组是否会增加效率,从而极大地影响Java应用程序的性能?或者差异只能忽略不计?

1 个答案:

答案 0 :(得分:3)

是的,像double[]这样的原始标量类型对于大多数用途来说会更快。在很多情况下,速度要快得多。但是,您在大多数应用程序中注意到任何差异都不太可能高度

其他人做了相关的基准here

但是,永远记住:

Premature optimization is the root of all evil in programming!