`

【Java核心-性能基础】利用 JMH 创建微基准测试

    博客分类:
  • Java
 
阅读更多

简述

JMH 是 java 平台中用于构建、运行并分析 微基准测试 的工具(语言不限于java)。

其原理是:通过字节码处理器与注解生成合成的基准测试代码。

虽然 JMH 可以帮助我们减少构建为基准测试时犯错,但并不能完全避免犯错。所以同行评审还是很有必要的。

 

JMH 的使用方法

1. 创建测试工程

推荐通过 Maven 创建一个专用的 standalone 工程。这样便于减少无关程序逻辑的影响,所得结果更准确。

示例:

 

mvn archetype:generate \
  -DinteractiveMode=false \
  -DarchetypeGroupId=org.openjdk.jmh \
  -DarchetypeArtifactId=jmh-java-benchmark-archetype \
  -DgroupId=org.sample \
  -DartifactId=test \
  -Dversion=1.0
 

 

2. 编写测试代码

 

package org.sample;
import org.openjdk.jmh.annotations.Benchmark;
public class MyBenchmark {
    @Benchmark
    public void testMethod() {
        // This is a demo/sample template for building your JMH benchmarks. Edit as needed.
        // Put your benchmark code here.
    }
}
 

 

3. 构建并执行测试

 

cd test
mvn clean package
java -jar target/benchmarks.jar

更多示例

 

分享到:
评论

相关推荐

    jmh-core-1.3.3.zip

    JMH 是一个由 Oracle 开发的 Java 平台上的性能基准测试框架,它允许开发者对代码片段进行微基准测试,以评估特定操作或算法的性能。这个库提供了丰富的工具和API,使得测量Java代码的运行时性能变得简单且准确。 ...

    benchmark-with-jmh:一些简单的JMH演示

    "benchmark-with-jmh:一些简单的JMH演示"这个项目提供了一些基础的JMH用例,帮助我们了解如何利用JMH进行性能测试。 **JMH的核心概念** 1. **Benchmark方法**:JMH测试的核心是`@Benchmark`注解的方法,这些方法...

    java性能优化教程

    编写基准测试,通过JMH(Java Microbenchmark Harness)进行微基准测试,确保优化措施有效且不会引入新的问题。 总的来说,Java性能优化涉及代码质量、JVM配置、并发处理、IO操作等多个方面。通过深入理解和实践,...

    使用Java高级实用技术

    - 性能基准测试:使用JMH(Java Microbenchmark Harness)进行性能测试。 - 应用监控:集成如Prometheus、Grafana等工具,实时监控应用状态。 以上只是Java高级实用技术的一部分,实际开发中还需要结合具体业务...

    concurrent-all-in-one.pdf

    - JMH(Java Microbenchmark Harness):用于Java微基准测试,分析方法性能。 - BenchmarkMode、Fork、Warmup、State和Scope:JMH的配置参数,影响测试结果。 16. **高效结果缓存** - 使用HashMap和...

    JAVA高质量并发详解,多线程并发深入讲解

    介绍如何使用Java Microbenchmark Harness (JMH)进行微基准测试,涉及`BenchmarkMode`、`Fork`、`Warmup`、`State`和`Scope`的概念。 - **第20章:ThreadLocalRandom的使用** 讲解`ThreadLocalRandom`类的特性,...

    nio压力测试

    7. **基准工具**:“nio-benchmark”可能是一个自定义的测试框架,也可能使用了像JMH(Java Microbenchmark Harness)这样的标准工具,用于创建和执行微基准测试。 8. **结果分析**:测试完成后,对数据进行统计...

    java_pft

    - JUnit集成性能测试:使用JUnit的扩展,如JMH(Java Microbenchmark Harness)进行微基准测试。 - JProfiler、VisualVM等工具:用于监控和分析Java应用的内存、CPU、线程等性能指标。 - JVM调优:理解JVM的内存...

    并发编程_应用1

    在本例中,作者使用了JMH(Java Microbenchmark Harness)工具进行基准测试,这是一个强大的框架,可以确保测试结果的准确性和可靠性。JMH提供了预热、多次执行和平均值计算等功能,帮助开发者评估代码的性能。 在...

    log4j简述(架构、用法等)

    - **基准测试**:进行性能测试时,可以使用 JMH(Java Microbenchmark Harness)等工具对 Log4j 的性能进行评估,确保在高并发环境下也能保持良好的响应速度。 #### 六、Log4j 与其他日志框架的比较 - **与 ...

    csv-performance:Playground 尽可能快地读取和拆分 CSV 行

    在IT行业中,CSV(Comma ...总之,“csv-performance”项目展示了如何利用Java进行高效CSV处理,通过基准测试确保最佳性能。对于那些处理大量CSV数据或者对性能有严格要求的Java开发者来说,这是一个极好的学习资源。

    哈希表的实现

    8. **工具使用**:在软件开发中,我们可以利用各种工具来分析和测试哈希表的性能,例如使用JMH(Java Microbenchmark Harness)进行基准测试,或者使用内存分析工具来检查内存占用情况。 综上所述,哈希表的实现...

Global site tag (gtag.js) - Google Analytics