JUnitBenchmarks
расшифровка результатов выполнения:
[measured 1 out of 11 rounds, threads: 1 (sequential)]
[проведено тестов для измерений 1 из 11, использовалось: 1 поток] 11-1=10 они использовались для прогрева джава машины
round: 0.02 [+- 0.00], round.block: 0.00 [+- 0.00], round.gc: 0.00 [+- 0.00], GC.calls: 0, GC.time: 0.00, time.total: 0.22, time.warmup: 0.20, time.bench: 0.02
round - среднее время выполнения 1 теста
time.total - общее время выполнения всех тестов (вместе с прогревкой)
time.warmup - общее время прогревающих тестов
time.bench - общее время выполнения тестов (без прогревочных)
Maven
<dependencies> <dependency> <groupId>com.carrotsearch</groupId> <artifactId>junit-benchmarks</artifactId> <version>0.7.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> </dependencies>
Simple example
@BenchmarkOptions(benchmarkRounds = 1, warmupRounds = 1) public class TestSleep { @Rule public TestRule benchmarkRun = new BenchmarkRule(); @Test public void testName() throws Exception { Thread.sleep(1000); } }
benchmarkRounds - количество раундов для выполнения теста
warmupRounds - количество прогревочных раундов