我正在测试此功能运行的平均时间
int prevTime = System.nanoSeconds();
for(int i = 0; i < amountOfTimes; i++;){
int max = 63;
value = r.nextInt(101) + 1;
while(max < value) max >>= 1;
}
totalTime = System.nanoSeconds() - prevTime;
avgTime = totalTime/amountOfTimes;
我发现amountOfTimes越大,avgTime越低。无论我运行该函数的次数如何,我都希望avgTime或多或少地保持一致。当运行1000次时,avgTime大约为222纳秒,但当运行10 ^ 9次时,avgTime大约为16纳秒。
为什么运行得越多就越有效率?