如何在JMH中初始化每个调用的数据?
我正在尝试创建修改集合的基准。问题是我不知道如何为每个调用初始化数据。
假定 Test.DATA 是一个包含 200 个元素的集合。
该方法根据 的值删除数据。
我知道这与JUnit的类似。我想使用,但我在JMH中找不到一个。如何在每次调用方法之前初始化数据?
非常感谢你提前。test
a.isTrue()
@Setup
@Setup
@Before
test
@State(Scope.Thread)
public class JavaCollectionBenchmark {
List<Foo> cols;
@Setup
public void prepare(){
cols= new ArrayList<>(Test.DATA);
}
@Benchmark
public long test(){
if(cols.size() != 200) {
System.out.println("SECOND TIME DOESN'T WORK!");
System.exit(0);
}else{
System.out.println("FIRST TIME");
}
cols.removeIf(a-> a.isTrue());
return cols.size();
}
}