设置测试次数
- 设置预热次数
-wi <int>
- 设置测量迭代次数
-i <int>
- 设置 fork 次数,每次 fork 中进行 n 次迭
-f <int>
设置待测的 JVM
-jvm <string>
设置 JVM 选项
- 为给定 JVM 设置启动参数:
-jvmArgs <string>
可视化 JMH 结果
- 首先需要将 JMH 结果以 json 格式生成:
-rf json -rff <string.json>
- 将生成的文件输入 jmh-visual-char 中
Maven 构建时从本地获取依赖的 jar 包
背景:由于在构建关于 BLAS 的 JMH 工程时需要依赖 netlib 库,而这个库默认不包含 aarch64 平台的 jar 包,所以需要手工将 jar 包放到本地,然后让 Maven 引入依赖。
-
首先使用
mvn install
命令将本地 jar 包安装到 maven 仓库mvn install:install-file -Dfile=<path to local jar file> -DgroupId=com.github.fommil.netlib -DartifactId=netlib-native-system-linux-aarch64 -Dversion=1.1 -Dpackaging=jar
-
然后修改~/.m2/repository/com/github/fommil/netlib/all/1.1.2/all-1.1.2.pom
插入如下依赖
<dependency> <groupId>com.github.fommil.netlib</groupId> <artifactId>netlib-native-system-linux-aarch64</artifactId> <version>1.1</version> <classifier>natives</classifier> </dependency>
-
最后构建 JMH 工程
mvn clean package
make 直接跑 jmh
make test TEST="micro:java.lang.StringEquals" MICRO="VM_OPTIONS=-XX:+UseSimpleStringEquals" CONF=fastdebug
文档信息
- 本文作者:Zhuojun Miao
- 本文链接:https://miaozhuojun.github.io/wiki/jmh/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)