Jmh - это средство Java для создания, запуска и анализа тестов нано / микро / макросов, написанных на Java и других языках, ориентированных на JVM.
1 ответ

JMH: запустить тест одновременно

Я запускаю тест JMH, но вызовы в каждом испытании происходят в серийном режиме. Как я могу сделать вызовы запущенными одновременно? Вот краткое изложение моего кода: @State(Scope.Benchmark) public class FooBenchmark { @Param({"123456"}) public int b…
22 сен '16 в 16:32
1 ответ

Как сравнить Scala с JMH в Intellij?

Я не могу понять, как сделать тесты программ Scala в Intellij с JMH. Вот что я сделал до сих пор: Добавлен JMH SBT-плагин // build.sbt name := "Project" version := "1.0" scalaVersion := "2.11.8" enablePlugins(JmhPlugin) // project/plugins.sbt logLev…
24 авг '16 в 19:58
1 ответ

Кодировка значения параметра

У меня есть тест в sbt-jmh, который является "оберткой" для jmh, для которого у меня есть параметр, который содержит символы не ASCII. Это выглядит так: @Param(Array("1000", "1000")) Это эквивалент для Java @Param({"1000", "1000"}) Обратите внимание…
03 мар '17 в 10:44
1 ответ

JMH, Microbenchmark часть кода

Я хотел бы видеть, есть ли способ сказать JMH, чтобы измерить ТОЛЬКО один конкретный метод с использованием всех методов, вызываемых из микробенчмарка. Я хотел бы автоматизировать создание микробенчмарков с использованием модульных тестов в качестве…
08 сен '15 в 15:02
1 ответ

Сравнительный анализ Java HashMap Get (JMH vs Looping)

Моя конечная цель - создать полный набор тестов для нескольких библиотек примитивных коллекций Java, используя стандартные коллекции Java в качестве основы. В прошлом я использовал циклический метод написания таких микро-тестов. Я поместил функцию, …
30 июн '14 в 18:52
1 ответ

JMH - зачем мне Blackhole.consumeCPU()

Я пытаюсь понять, почему это разумно использовать Blackhole.consumeCPU()? Что-то, что я нашел о Blackhole.consumeCPU() в Google -> Иногда, когда мы запускаем тест производительности в нескольких потоках, мы также хотим записать несколько циклов ЦП, …
29 мар '16 в 15:23
1 ответ

JMH не работает

JMH показывает одинаковые результаты для разных методов, независимо от того, содержат ли эти методы какой-либо код или нет. Пример 1: пустой метод для тестирования public class MyBenchmark { public static void main(String[] args) throws Exception { …
28 янв '18 в 14:35
1 ответ

OutOfMemory с JMH и Mode.AverageTime

Я пишу микро-тест для сравнения конкатенации строк, используя оператор + vs StringBuilder. С этой целью я создал класс тестов JMH на основе примера OpenJDK, в котором используется параметр batchSize : @State(Scope.Thread) @BenchmarkMode(Mode.Average…
19 авг '15 в 13:49
1 ответ

Понимание того, как избежать последствий мертвого кода

Я читаю образцы JMH, и теперь я нахожусь в разделе о безопасной петле . Вот пример: @Benchmark public void measureRight_2() { for (int x : xs) { sink(work(x)); } } @CompilerControl(CompilerControl.Mode.DONT_INLINE) public static void sink(int v) { /…
25 ноя '16 в 11:19
1 ответ

Странная JIT пессимизация идиомы цикла

Анализируя результаты недавнего вопроса здесь, я столкнулся с довольно странным явлением: очевидно, что дополнительный уровень JIT-оптимизации HotSpot фактически замедляет выполнение на моей машине. Вот код, который я использовал для измерения: @Out…
12 фев '14 в 20:17
2 ответа

Почему "массив" прямой памяти медленнее очищается, чем обычный массив Java?

Я установил тест JMH, чтобы измерить, что будет быстрее Arrays.fill с нулем, System.arraycopy из нулевого массива, обнуление DirectByteBuffer или обнуление unsafe Блок памяти пытается ответить на этот вопрос. Давайте отложим в сторону, что обнуление…
17 фев '17 в 13:27
1 ответ

Java MicroBenchmarking Harness игнорирует параметры теста

Я использую OpenJDK JMH и хотя я пытался аннотировать и метод, и класс, который его запускает, он все равно будет работать со значениями по умолчанию. Я запускаю этот тест из папки тестов, используя jUnit. public class BenchmarkRunner { @Test public…
12 дек '17 в 09:09
1 ответ

Базовое понимание 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");…
14 окт '16 в 13:38
1 ответ

Простой микро-тест с JMH

Вдохновленный еще одним вопросом о переполнении стека, я написал микро-тест, чтобы проверить, что является более эффективным: условно проверяя делитель нуля или ловить и обрабатывать ArithmeticException Ниже мой код: @State(Scope.Thread) @BenchmarkM…
16 апр '18 в 05:57
1 ответ

Что такое StubRoutines::jbyte_disjoint_arraycopy

Я измерял какой-то однопоточный вызов метода (написанный на Scala) и хотел проанализировать тест. Вот как это выглядит (детали реализации опущены) @State(Scope.Benchmark) class TheBenchmarks { var data: Array[Byte] = _ @Param(Array("1024", "2048", "…
13 сен '18 в 17:03
0 ответов

ForkedMain Ошибка с Runner в JMH

Я пытался сравнить Java-файл. При добавлении пакетов jmh и аннотаций, таких как @Benchmark, @Mode и т. Д., Для тестирования методов gradle работает отлично и генерирует меру. Но после добавления этих аннотаций, когда я пытаюсь выполнить этот код Jav…
10 июл '17 в 06:45
1 ответ

JMH Micro Benchmark Аннотации со Scala

Я новичок в JMH. Я не очень понимаю, как это работает после запуска моего кода и использования различных аннотаций. Я использую итерацию = 1, разминку = 1, разветвление = 1, чтобы увидеть, что мой код будет выполнен один раз, но это не так. JMH запу…
09 сен '16 в 06:44
2 ответа

Как измерить производительность баз данных в Java?

Я ищу хороший способ измерить производительность отдельных баз данных в Java и сравнить их друг с другом. Базы данных: (NoSQL) MongoDB, CouchDB и Cassandra, а также (RDBMS) MySQL, Postgresql. Я планирую сделать некоторые тесты CRUD и некоторые более…
26 фев '15 в 20:11
2 ответа

Исключение при попытке получить блокировку JMH

Этот код работал нормально. При перезагрузке компьютера выдает ошибку: ERROR: org.openjdk.jmh.runner.RunnerException: ERROR: Exception while trying to acquire the JMH lock (C:\WINDOWS\/jmh.lock): Access is denied, exiting. Use -Djmh.ignoreLock=true …
09 июн '16 в 08:31
1 ответ

Как запустить JMH, используя perfasm/xperfasm/WinPerfAsmProfiler

Попытка запустить тест JMH в Windows, используя WinPerfAsmProfiler выдает следующую ошибку: ERROR: No address lines detected in assembly capture, make sure your JDK is PrintAssembly-enabled: https://wikis.oracle.com/display/HotSpotInternals/PrintAss…
23 май '15 в 18:36