Runner createRunner(JmhConfig jmhConfig) { OptionsBuilder optionsBuilder = new OptionsBuilder(); Optional.ofNullable(jmhConfig.getInclude()).ifPresent(optionsBuilder::include); Optional.ofNullable(jmhConfig.getIncludeWarmup()).ifPresent(optionsBuilder::includeWarmup); Optional.ofNullable(jmhConfig.getExclude()).ifPresent(optionsBuilder::exclude); Optional.ofNullable(jmhConfig.getResult()).map(File::getAbsolutePath).ifPresent(optionsBuilder::result); Optional.ofNullable(jmhConfig.getResultFormat()).ifPresent(optionsBuilder::resultFormat); optionsBuilder .warmupMode(jmhConfig.getWarmupMode()) .warmupForks(jmhConfig.getWarmup().getForks()) .warmupBatchSize(jmhConfig.getWarmup().getBatchSize()) .warmupTime(jmhConfig.getWarmup().getTime()) .warmupIterations(jmhConfig.getWarmup().getIterations()) .mode(jmhConfig.getMode()) .forks(jmhConfig.getMeasurement().getForks()) .measurementBatchSize(jmhConfig.getMeasurement().getBatchSize()) .measurementTime(jmhConfig.getMeasurement().getTime()) .measurementIterations(jmhConfig.getMeasurement().getIterations()) .operationsPerInvocation(jmhConfig.getOperationsPerInvocation()) .threads(jmhConfig.getThreads()) .shouldFailOnError(jmhConfig.isFailOnError()) .shouldDoGC(jmhConfig.isGarbageCollection()) .timeout(jmhConfig.getTimeout()) .timeUnit(jmhConfig.getTimeUnit()) .jvmArgs(jmhConfig.getJvmArgs()); return new SeedJmhRunner(optionsBuilder.build()); } }
@Test public void performHttp11VsHttp20Test() throws Exception { Options opt = new OptionsBuilder() .include(this.getClass().getName() + ".*") .mode(Mode.AverageTime) .timeUnit(TimeUnit.MILLISECONDS) .warmupIterations(WARMUP_ITERATIONS_COUNT) .measurementIterations(MEASUREMENT_ITERATIONS_COUNT) .threads(1) .forks(1) .shouldFailOnError(true) .shouldDoGC(true) .build(); new Runner(opt).run(); }
@Test @Category(Profiling.class) public void performRouterBenchmark() throws Exception { Options opt = new OptionsBuilder() .include(this.getClass().getName() + ".*") .mode(Mode.AverageTime) .mode(Mode.SingleShotTime) .timeUnit(TimeUnit.MILLISECONDS) .warmupIterations(WARMUP_ITERATIONS_COUNT) .measurementIterations(MEASUREMENT_ITERATIONS_COUNT) .threads(1) .forks(1) .shouldFailOnError(true) .shouldDoGC(true) .build(); new Runner(opt).run(); }