gpt4 book ai didi

Java Microbenchmark Harness 报错Unable to find the resource :/META-INF/BenchmarkList

转载 作者:行者123 更新时间:2023-12-05 05:46:55 30 4
gpt4 key购买 nike

我想用 JMH 测量斐波那契函数的性能。但是在编译时出现以下错误:

Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList
at jmh.core@1.34/org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98)
at jmh.core@1.34/org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:124)
at jmh.core@1.34/org.openjdk.jmh.runner.Runner.internalRun(Runner.java:253)
at jmh.core@1.34/org.openjdk.jmh.runner.Runner.run(Runner.java:209)
at jmh.core@1.34/org.openjdk.jmh.Main.main(Main.java:71)
at project/Mypackage.BenchmarkRunner.main(BenchmarkRunner.java:6)

我使用 IntelliJ IDEA我使用 openJDK 16

我尝试在 Resources 目录中添加文件夹和文件 /META-INF/BenchmarkList我有这个错误:

No matching benchmarks. Miss-spelled regexp?
Use EXTRA verbose mode to debug the pattern matching.

开始基准测试的我的主要类(class):

public class BenchmarkRunner {
public static void main(String[] args) throws Exception {
org.openjdk.jmh.Main.main(args);
}

}

以及我想衡量其性能的具有斐波那契方法的类

public class TestClassMesurment {

@Benchmark
@BenchmarkMode(Mode.AverageTime)
@Fork(value = 1)
@Warmup(iterations = 2)
@Measurement(iterations = 1)
public void init() {

fib(52);
//fibbonaci(300);
}

static int fib(int n) {
if (n<2) return 1;
else return fib(n-1) + fib(n-2);
}


double fibbonaci(int n){
double prev=0d, next=1d, result=0d;
for (int i = 0; i < n; i++) {
result=prev+next;
prev=next;
next=result;
}
return result;
}
}

最佳答案

/META-INF/BenchmarkList 是在编译时自动生成的,你不需要手动创建。如果未创建此文件,这通常意味着注释处理已关闭。请打开它。

您运行基准测试的方式也不同于 samples 中指定的方式.也尝试使用该方法。

关于Java Microbenchmark Harness 报错Unable to find the resource :/META-INF/BenchmarkList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71109939/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com