我正在使用一個接口,該接口將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