标签:吞吐量 inter 需要 测试 实现 ann pack 热点 return
JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件。何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测试,精度可以达到微秒级。当你定位到热点方法,希望进一步优化方法性能的时候,就可以使用JMH对优化的结果进行量化的分析。测量精准度可达0.001微妙;
JMH比较典型的应用场景有:
package com.smart.test; import java.util.concurrent.TimeUnit; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Mode; import org.openjdk.jmh.annotations.OutputTimeUnit; import org.openjdk.jmh.annotations.Scope; import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MICROSECONDS) @State(Scope.Thread) public class FirstBenchmark { @Benchmark public int sleepAWhile() { try { Thread.sleep(400); } catch (InterruptedException e) { } return 0; } public static void main(String[] args) throws RunnerException { Options opt = new OptionsBuilder() .include(FirstBenchmark.class.getSimpleName()) .forks(1) .warmupIterations(5) .measurementIterations(5) .build(); new Runner(opt).run(); } }
JMH java Mocrobenchmark Harness 方法级精准测量工具 概述
标签:吞吐量 inter 需要 测试 实现 ann pack 热点 return
原文地址:https://www.cnblogs.com/sunxing007/p/10819148.html