2015-09-08 3 views
1

Хотелось бы узнать, есть ли способ рассказать JMH для измерения JUST Один конкретный метод mithin всех методов, вызванных микрочипом.JMH, Microbenchmark часть кода

Я хотел бы автоматизировать создание микрочипов с использованием модульных тестов в качестве базы, поэтому мне не нужно вручную создавать микрообъекты. В моем исследовании у меня есть большая база кода, в которой я делаю некоторые автоматические изменения, ожидая, что они окажут влияние на производительность. Пока у меня есть 1200 мест в коде, который изменяется. Автоматизация необходима, так как мы хотим обеспечить структуру, которая выполняет преобразования, а затем автоматически измеряет влияние преобразований.

Здесь JMH: don't take into account inner method time предоставляется решение, однако я бы отделить вручную код в методе @start, и это не кажется, practicall делать с 1200 тестов ...

+0

Глядя на код JMH, кажется, это невозможно .. –

ответ

2

Вы не можете, потому что это не микробиблиотека.

Microbenchmarking предполагает измерение эксплуатационных характеристик (изолированного) сегмента кода в целом, с учетом точной настройки среды, включая подготовку данных и подачу их в выбранный метод/систему, измерение сквозных показателей , Этому предназначено JMH: полезная нагрузка отмечена @Benchmark, и она измеряется неделимо, с возможностью отменить работу по настройке и разрыву.

Измерение выбранного метода полезной нагрузки среди других выполняемых методов полезной нагрузки будет в лучшем случае запутанным: во всяком случае: не зная, что еще происходит в системе, эти индивидуальные показатели ничего не говорят. Другими словами, вам нужны инструменты профилирования, которые способны анализировать влияние отдельных частей на показатели. Это то, что предназначены профилировщикам и системам Application Performance Management.

Смежные вопросы