我正在使用一个接口,该接口将Object类型作为其输入。这对我来说很不幸,因为我有时需要通过界面传递原始数据。这当然会迫使我去装箱。通过传入单元素原始数组来避免拳击
分析显示此区域是代码中的热点。因此,我正在探索使这一领域更快的替代方案。
我今天想到的一个想法是预先分配一个静态基本数组,并将原始值存储在这个数组中,然后传递数组(然后在接口的实现中, array。
我已经写了一些代码来测试这个,对于相当高的值(1000万),我看到数组方法显着更快,当我增加我的测试迭代次数时,收敛
我想知道是否有人曾经想过这种方法,如果有任何关于如何基准这个好的建议
示例代码:
Double data = Double.valueOf(VALUE);
inst.interface(data);
//inside interface(Object object)...
Double data = (Double) object;
double d = data.value();
VS ...
doublearray[0] = VALUE;
inst.interface(data);
//inside interface(Object object)...
double[] data = (double[]) object;
double d = data[0];
谢谢! RB
为什么没有一个全局的'double'变量呢? – irreputable