JUnitBenchmark
如果你希望用 JUnit 来测试一些性能问题,那么 JUnitBenchmark 可以帮到你,主要特性:
- 记录执行时间
- 监控垃圾收集
- 测试热身
-
示例测试:
01packageorg.javabenchmark;0203importcom.carrotsearch.junitbenchmarks.AbstractBenchmark;04importcom.carrotsearch.junitbenchmarks.BenchmarkOptions;05importjavolution.text.TextBuilder;06importorg.junit.Test;0708/**09* Benchmark for String concatenation. Compares StringBUilder (JDK) and10* TextBuilder (Javolution).11*/12publicclassStringConcatenationBenchmarkextendsAbstractBenchmark {1314publicstaticfinallongLOOPS_COUNT =10000000;1516@Test17@BenchmarkOptions(benchmarkRounds =3, warmupRounds =1)18publicvoidstringBuilderBenchmark() {1920StringBuilder builder =newStringBuilder();21for(longi =0; i < LOOPS_COUNT; i++) {22builder.append('i').append(i);23}24System.out.println(builder.toString().length());25}2627@Test28@BenchmarkOptions(benchmarkRounds =3, warmupRounds =1)29publicvoidtextBuilderBenchmark() {3031TextBuilder builder =newTextBuilder();32for(longi =0; i < LOOPS_COUNT; i++) {33builder.append('i').append(i);34}35System.out.println(builder.toString().length());36}37}
浙公网安备 33010602011771号