性能微基准测试JMH
👽System.out.println(“👋🏼嗨,大家好,我是代码不会敲的小符,目前工作于上海某电商服务公司…”);
📚System.out.println(“🎈如果文章中有错误的地方,恳请大家指正!共同进步,共同成长✊”);
🌟System.out.println(“💡如果文章对您有所帮助,希望您可以三连支持一下博主噢🔥”);
🌈System.out.println("🚀正在完成计划中:Java应届第一年规划 ");
文章目录
-
- 依赖、插件
- 注解参数
-
- 预热warmup
- 执行过程Measurement
- 测试类型BenchmarkMode
- 时间类型OutputTimeUnit
- 进程Fork
- 线程Threads
- 方法归类Group(很少使用)
- 方法归类GroupThreads(很少使用)
- 状态State
- 初始化Setup
- 收尾工作TearDown
- 参数Param
- 控制编译行为CompilerControl
- Level值--标明方法运行的时机
- JMH 陷阱
- JMH结果可视化
- 实战示例代码
- 最后
精确的测量方法获取某段代码的性能
JVM 在执行时,会对一些代码块,或者一些页繁执行的逻辑,进行 JIT 编译和内联优化
在得到一个稳定的测试结果之前,需要先循环上万次进行预热评估性能,有很多的指标
依赖、插件
基准测试的工具
测量精度非常高,可送纳秒级别