我写了一个简单,其中一个看似普通的循环却出乎了我的意料,是用Java写的。其中yz及pow的底数我现在改了一下:
//方法一: double w = 0.0, yz = 1.234567; for (int i = 0; i < currents.length; i++) { if (currents[i] > i2) { w += yz * currents[i] * Math.pow(1.56, i0/currents[i]); } } return w; //方法二: double w = 0.0, yz = 1.234567; for (int i = pMax; i < currents.length; i++) { w += yz * currents[i] * Math.pow(0.89, i0/currents[i]); } return w;
代码如上,现在问题就是照我的理解方法二应该比方法一快一些才对,而进行了测试方法一需要114ms,方法二需要333ms(进行了多次测试取平均)
我现在不知道到底是什么原因,所以上来请教讨论一下,谢谢各位!
- -||| 没分
万千封印
富国沪深
相关分类