为什么函数运行得越多越有效?

时间:2018-02-07 05:01:04

标签: java performance timer

我正在测试此功能运行的平均时间

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纳秒。

为什么运行得越多就越有效率?

0 个答案:

没有答案