Java: Сколько времени используется пустой петлей?

Я пытаюсь проверить скорость автообоксинга и распаковки в 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

Почему первые два петель всегда занимают некоторое время, то Остальные, кажется, по-видимому, пропущены системой?

В этом ответе на этот пост Говорят, что справедливое сознание сможет оптимизировать это. Но если да, то почему первые два петля все еще занял некоторое время?

7
задан Community 23 May 2017 в 11:47
поделиться