• 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后执行 用于资源回收
  • 相关阅读:
    Clob实践
    Read Clob字段 Function最终版
    asp.net mvc proflie 使用 区别 疑惑
    csdn中关于程序员的一封信
    【解惑】女生适合干计算机什么方面的工作
    网络女友跟现实女友的区别
    [转]俞敏洪老师郑州大学演讲
    【解惑】这么多技术我该怎么学
    google使用技巧
    杨澜给二十几岁女孩子的忠告
  • 原文地址:https://www.cnblogs.com/lancelee98/p/15259058.html
Copyright © 2020-2023  润新知