Базовое понимание JMH Benchmark

У меня такой весенний класс:

@Component
@State(Scope.Thread)
public class CalculatorImpl implements Calculator {

    public CalculatorImpl() {
        System.out.println("Phase 1");
    }

    @PostConstruct
    @Benchmark
    public void init() {
        System.out.println("Phase 2");
    }
}

Я добавил необходимые зависимости maven и плагин и запустил его:

java -jar target/benchmarks.jar

И моя "Фаза 2" печатается в бесконечном цикле. В основном, я просто хочу пример helloworld. Что я сделал не так? Спасибо за ваше время.

1 ответ

Решение

Увидеть hello world пример здесь http://hg.openjdk.java.net/code-tools/jmh/file/7a25c71b43bf/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_01_HelloWorld.java

Я полагаю, что в вашем случае вы получили не бесконечный цикл, а очень длинный вызов, возможно, ограниченный или ограниченный по времени скоростью линии печати на вашем терминале. Попробуйте сначала протестировать пустой метод.

Другие вопросы по тегам