benchmark with java

2019-02-19  本文已影响0人  qingshuiting

benchmark with java

分析一段代码的不同实现方式的优劣,或者一个操作的改进程度,可以实现一个micro-benchmark来进行评测。常用的benchmark tool for java就是 google的Caliper 和 open jdk的JMH。

JMH 使用

使用annotation中的:@Benchmark @setup 等内容来表示程序

运行方法1:

直接在类中添加Main函数:

Options options = new OptionsBuilder().
                include(MyBenchmark.class.getSimpleName()).forks(1).build();

        new Runner(options).run();

运行方式2:

在mvn pom中添加plugin,以及运行的主类(Main)

<mainClass>org.openjdk.jmh.Main</mainClass>

讨论

性能测试或者调优:

过早的性能调优是万恶之源

  1. 我们一般使用基准测试来进行性能调优,但是基准测试是要在性能测试之后才展开

  2. 性能测试以后,我们要发现对哪一个部分改进性能能提高更多,然后对这部分进行优化

上一篇 下一篇

猜你喜欢

热点阅读