Публикации по теме 'jmh'


Написание тестов производительности для Webflux
Меня зовут Александр Леонов, я руководитель одной из распределенных команд Usetech. Сегодня я хочу рассказать вам о том, как написать карманный тест производительности для неблокирующего кода Webflux. Статья предназначена для разработчиков, разрабатывающих API или выполняющих оптимизационный рефакторинг медленного кода. Итак, приступим. Весь приведенный ниже код является тестовым, но отражает основные моменты реального кода. Этот материал направлен на написание бенчмарков, покрывающих..

Вопросы по теме 'jmh'

Головоломка JMH: StringBuilder против StringBand
Мне трудно понять, что происходит с этим тестом. Я хочу измерить, как мой образец класса StringBand работает по сравнению с StringBuilder . Идея с StringBand состоит в том, чтобы объединить строки в toString() , а не в append() . Источники...
588 просмотров
schedule 07.02.2023

Что делает JMH, когда он ничего не делает?
Это мой самый первый тест JMH. Может я все делаю не так, но.... Мой бенчмарк выглядит так @State(Scope.Benchmark) public class JmhBranchingBenchmark { private static final int STRING_LENGTH = 100 * 1000; private char[][] allQueries =...
842 просмотров
schedule 09.01.2023

Как правильно и просто профилировать функцию в scala?
Я пытаюсь изменить строку, содержащую символы Юникода, в Scala. Я хочу найти самый быстрый способ сделать это. Пока у меня есть этот код: import scala.runtime.RichChar def reverseInPlace(s: String): String = { val reverse = new...
649 просмотров
schedule 31.07.2023

Как я могу использовать JMH для тестов Scala вместе с sbt?
Я пытался использовать jmh вместе с sbt , но пока мне не удалось его правильно настроить так что тесты на основе .scala работают. Поскольку комбинация тестов на основе sbt + .java работает, я попытался начать с этой базы. Я использую sbt...
3638 просмотров
schedule 10.03.2022

Почему StringBuilder # append (int) быстрее в Java 7, чем в Java 8?
Во время расследования небольшого обсуждения w.r.t. с использованием "" + n и _2 _ для преобразования целочисленного примитива в строку Я написал этот микробенчмарк JMH : @Fork(1) @OutputTimeUnit(TimeUnit.MILLISECONDS)...
10271 просмотров
schedule 24.08.2023

JMH: не учитывать время внутреннего метода
У меня есть такие методы: @GenerateMicroBenchmark public static void calculateArraySummary(String[] args) { // create a random data set /* PROBLEM HERE: * now I measure not only pool.invoke(finder) time, * but also...
725 просмотров
schedule 14.06.2024

Можно ли использовать микротестовую структуру только для определения времени некоторых утверждений?
Я планирую провести микротестирование моего Java-кода, который включает несколько вызовов как локальной, так и удаленной базы данных. Я собирался использовать System.nanoTime(), но начал читать о средах микротестирования, таких как jmh и суппорт....
208 просмотров
schedule 31.03.2024

Неустойчивая производительность Arrays.stream().map().sum()
Я случайно столкнулся с чрезвычайно неустойчивым профилем производительности очень простой операции map/reduce для примитивных массивов. Вот мой тестовый код jmh: @OutputTimeUnit(TimeUnit.NANOSECONDS) @BenchmarkMode(Mode.AverageTime)...
2225 просмотров
schedule 24.06.2023

Правильный баланс между количеством итераций и количеством вилок в JMH
Я изучаю OpenJDK JMH для тестирования своего кода. Насколько я понимаю, JMH по умолчанию разветвляет несколько JVM, чтобы защитить тест от ранее собранных «профилей». Что очень хорошо объясняется в этом пример кода . Однако мой вопрос...
271 просмотров
schedule 08.12.2023

Как измерить скорость распределения с помощью jmh?
Похоже, что JMH выполняет большинство функций калипера так же или даже лучше, чем калипер , но я не мог понять, как измерить скорость распределения, что в целом полезно для просмотра в микробенчмарке. Является ли JMH неправильным инструментом для...
2076 просмотров
schedule 08.08.2023

Случайные данные с помощью JMH Java microbenchmark, тестирующего печать с плавающей запятой
Я пишу микробенчмарк JMH для написанного мной кода печати с плавающей запятой. Меня пока не слишком беспокоит точная производительность, но правильный код теста. Я хочу перебрать некоторые случайно сгенерированные данные, поэтому я создаю...
2590 просмотров

Получение Java JMH в сборке maven из каталога классов
С помощью Java microbenchmark у меня есть проект, который отлично строится и устанавливается в зависимости от набора функций, которые я тестирую. Код теста все еще находится в каталоге JMH, созданном из maven. Все в порядке. Вот строки pom.xml,...
290 просмотров
schedule 30.06.2022

JMH нет основного атрибута манифеста
Я только что создал проект Maven, используя эту команду: $ mvn archetype:generate \ -DinteractiveMode=false \ -DarchetypeGroupId=org.openjdk.jmh \ -DarchetypeArtifactId=jmh-java-benchmark-archetype \ -DgroupId=org.sample \...
1199 просмотров
schedule 01.04.2023

Как измерить производительность баз данных в Java?
Я ищу хороший способ измерить производительность определенных баз данных на Java и сравнить их друг с другом. Базы данных: (NoSQL) MongoDB, CouchDB и Cassandra, а также (RDBMS) MySQL, Postgresql. Я планирую провести несколько тестов CRUD и...
1112 просмотров
schedule 17.09.2022

Многопоточный алгоритм тестирования ошибок с использованием параметризованного измерения jmh
Для тестирования многопоточного алгоритма я установил параметризованное jmh измерение. Через некоторое время измерение вылетает с ошибкой java.lang.OutOfMemoryError: unable to create new native thread Алгоритм создает очень ограниченное...
194 просмотров
schedule 12.02.2024

Как запустить JMH из тестов JUnit?
Как я могу запустить тесты JMH в моем существующем проекте, используя тесты JUnit? Официальная документация рекомендует делать отдельный проект, использовать плагин Maven shadow и запускать JMH внутри метода main . Нужно ли это и почему это...
14653 просмотров
schedule 22.01.2024

Непредсказуемое падение производительности потока Java 8 без очевидной причины
Я использую потоки Java 8 для перебора списка с подсписками. Размер внешнего списка варьируется от 100 до 1000 (разные тестовые прогоны), а размер внутреннего списка всегда равен 5. Есть 2 прогона тестов, которые показывают неожиданные отклонения...
3991 просмотров
schedule 02.07.2022

Тест JMH на Hadoop YARN
Я написал тест JMH для своей работы MapReduce. Если я запускаю свое приложение в локальном режиме, оно работает, но когда я запускаю его со скриптом пряжи в своем кластере Hadoop, я получаю следующую ошибку: [cloudera@quickstart Desktop]$...
280 просмотров
schedule 01.01.2023

JMH: Использование одного и того же статического объекта во всех тестах Benchmark
У меня есть класс, который создает некоторые сложные данные (представьте себе большую структуру XML или JSON и тому подобное). Его создание требует времени. Поэтому я хочу построить его один раз, а затем использовать те же данные во всех тестах. В...
2641 просмотров
schedule 10.08.2022

Как инициализировать данные для каждого вызова в JMH?
Я пытаюсь создать тест, который изменяет коллекцию. Проблема в том, что я не знаю, как инициализировать данные для каждого вызова. Предположим, что Test.DATA — это коллекция, содержащая 200 элементов. Метод test удаляет данные на основе значения...
3390 просмотров
schedule 18.09.2023