Во-первых, поскольку код Java интерпретируется при нескольких начальных выполнениях, чем дольше он выполняется, тем быстрее он начинает работать. По этой причине все хронометражные тесты (не только микробенчмарки) обычно включают период разогрева (warm-up), во время которого JVM может откомпилировать свой код в оптимальное состояние.
Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание
·
Скотт Оукс