Если я разрабатываю тест алгоритма сортировки, могу ли я сделать так, чтобы избежать разогрева JVM?
Сначала немного педантизма. Вы не должны избегать разогрева JVM. Это должно произойти. То, что вы пытаетесь сделать, это предотвратить прогрев JVM от искажения результатов теста.
Чтобы ответить на ваш вопрос, подход примерно верный, но очень сложно предсказать, сколько раз вам нужно будет выполнить тест в начальном цикле. Скорее всего, это зависит от тестового кода, от версии JVM и от параметра настройки JVM ... и, возможно, от других вещей.
Обычно я просто печатаю необработанные тайминги, отфильтровываю начальные итерации «прогрева», которые имеют аномальные временные значения «на глаз», а затем вычисляю средние значения вручную. Это неуклюже, но дает мне некоторую уверенность в том, что я учел прогрев и другие возможные источники аномалий.