Я пытаюсь проверить скорость автообоксинга и распаковки в Java, но когда я пытаюсь сравнить его против пустой петли на примитивом, я заметил один Любопытно. Этот фрагмент:
for (int j = 0; j < 10; j++) {
long t = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++)
;
t = System.currentTimeMillis() - t;
System.out.print(t + " ");
}
каждый раз, когда я запускаю это, он возвращает тот же результат:
6 7 0 0 0 0 0 0 0 0 0
Почему первые два петель всегда занимают некоторое время, то Остальные, кажется, по-видимому, пропущены системой?
В этом ответе на этот пост Говорят, что справедливое сознание сможет оптимизировать это. Но если да, то почему первые два петля все еще занял некоторое время?