zoukankan      html  css  js  c++  java
  • JMH 基准测试框架

    JMH 基础

    Java Microbenchmark Harness 用于代码微基准测试的工具套件,主要是基于方法层面的基准测试,精度可以达到纳秒级

    可以规避JVM中的JIT 或者其他优化对性能测试造成的影响.JIT(just in time comlilation) 某段代码第一次执行时进行编译,编译成机器码 提高执行速度

    当你定位到热点方法,希望进一步优化方法性能的时候,就可以使用 JMH 对优化的结果进行量化的分析

    注解:

    • @Benchmark 注解需要测试性能的类 或 方法
    • @BenchmarkMode({Mode.xxx}) 配置基准测试模式
      1. 可选模式有
      2. Throughput 整体吞吐量 ops/time
      3. AverageTime 平均时间 time/op
      4. SampleTime 随机取样
      5. SingleShotTime 只运行一次 且Warmup为0 常用于测试冷启动性能
      6. ALL 上面所有模式都执行一次
    • @State(Scope.xxx)
      1. 指定对象作用范围
      2. Benchmark 测试线程共享一个实例 测试多线程共享下的性能
      3. Group 组内共享
      4. Thread 默认状态 每个测试线程分配一个实例
    • @OutputTimeUnit 统计时间单位
    • @Warmup 预热次数 itrations,time,timeUnit,batchSize
    • @Measurement 实际调用时的基本参数
    • @Thread 每个进程中的测试线程
    • @Fork fork的进程数量
    • @Param 指定某参数的多种情况
    • @Setup 执行benchmark前执行 用于初始化
    • @TearDown 执行benchmark后执行 用于资源回收
  • 相关阅读:
    深度学习在graph上的使用
    简单区分单射、满射与双射
    CSS自定义属性expression_r
    在linux命令下访问url
    Linux添加/删除用户和用户组
    mysql命令
    LAMP 版本查看
    php 下载文件
    linux 自动备份数据库
    linux下添加定时任务
  • 原文地址:https://www.cnblogs.com/lancelee98/p/15259058.html
Copyright © 2011-2022 走看看