我正在尝试创建修改集合的基准。 问题是我不知道如何为每次调用初始化数据。
假设Test.DATA是一个包含200个元素的集合
test
方法会根据a.isTrue()
的值删除数据
我知道@Setup
类似于JUnit的@Setup
。我想使用@Before
但我在JMH找不到一个。
如何在每次调用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();
}
}