170 похожих чатов

Господа, в чём разница в JMH между ? @State(Scope.Benchmark) и @State(Scope.Thread) И где правильнее

держать класс с измерениями, наверное в тестах ?

13 ответов

22 просмотра

Под бенчмарки делают отдельный сурс сет

Serj-in Автор вопроса
Alexandr ∨∧‾ Emelyanov
Под бенчмарки делают отдельный сурс сет

какие-то переменные, объекты классов хранить ? получается общедоступный set и для текущего потока надо поискать примеры )

Serj in
какие-то переменные, объекты классов хранить ? пол...

Не, я про папку исходников. У тебя есть src/main/java, есть src/test/java, jmh плагин, по крайней мере для гредл, делает src/main/jmh

Serj-in Автор вопроса
Alexandr ∨∧‾ Emelyanov
Не, я про папку исходников. У тебя есть src/main/j...

ааа, понял, спасибо, отдельно ... надо делать) То я сижу и думаю про @State

https://github.com/openjdk/jmh/blob/master/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_03_States.java

Serj-in Автор вопроса
Aleksey Shipilev
https://github.com/openjdk/jmh/blob/master/jmh-sam...

спасибо. Уже что-то пробую сделать по сложнее, там дофига примеров... правда не всё понятно )))

Serj-in Автор вопроса
Aleksey Shipilev
Придётся читать документацию, да.

нашёл пример и по нему клепаю... додумываю своё @State(Scope.Benchmark) public static class ...{ @Param({"..., ... , ...."}) List<Integer> list; @Setup(Level.Iteration) public void setup() { ....} } и это уже подставляется в @Benchmark

Serj in
нашёл пример и по нему клепаю... додумываю своё @S...

Сейчас вам компилятор расскажет, что List<Integer> в @Param нельзя. Читайте документацию.

Serj-in Автор вопроса
Aleksey Shipilev
Сейчас вам компилятор расскажет, что List<Integer>...

щас запустил, всё ОК, то что надо... ну точнее надо дальше придумывать. То есть формируется некий список List<Integer> перед каждой итерацией, и прогоняется стопка измерений

Serj-in Автор вопроса
Aleksey Shipilev
Сейчас вам компилятор расскажет, что List<Integer>...

ааа, то я не дописал здесь, там int total; идёт, и потом уже List. Я так понимаю, в зависимости от длительности итерации, он запускает Benchmark столько раз, сколько успеет запустить за этот промежуток ? как-то не сильно удобно, лучше запустить N- раз в разных итерациях(новый List)

Serj in
ааа, то я не дописал здесь, там int total; идёт, и...

https://github.com/openjdk/jmh/blob/master/jmh-core/src/main/java/org/openjdk/jmh/annotations/Mode.java#L35-L42

Serj-in Автор вопроса
Aleksey Shipilev
https://github.com/openjdk/jmh/blob/master/jmh-cor...

да, указал в нотации время... и как-то не нравится этот подход может надо batchSize использовать https://github.com/openjdk/jmh/blob/master/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_26_BatchSize.java

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта