在以下代码中:
long startingTime = System.nanoTime();
int max = (int) Math.pow(2, 19);
for(int i = 0; i < max; ){
i++;
}
long timePass = System.nanoTime() - startingTime;
System.out.println("Time pass " + timePass / 1000000F);
我正在尝试计算在我的机器上执行简单操作所需的时间。
所有高达 19 次方的计算都会增加运行此代码所需的时间,但是当我超过 19(最大 int 值 31)时,我惊讶地发现它对所需时间没有影响。它总是在我的机器上显示 5 毫秒!!!
怎么会这样?