我正在使用JMH来衡量算法的执行时间。除了时间,我还希望将该算法的结果输出到JMH用来节省执行时间的同一文件中。
我已经尝试使用其他文件输出结果。有两个不同的文件(一个用于时间,另一个用于结果)很麻烦。除此之外,在完成所有基准测试时,我还无法关闭它(我正在使用Level.Trial
关闭文件,但我也正在使用它来编写输出,因此下次使用它需要写入的文件将被关闭)。我希望write
发生在Level.Trial
中,但是我没有找到其他方法来关闭文件(如果不这样做,结果将不会被写入)。
@Setup(Level.Trial)
public void writeOutput() {
CSVWriter output = new CSVWriter(new FileWriter( /* filename */ ));
}
@TearDown(Level.Trial)
public void writeOutput() {
output.writeNext(new String[] { /* data here */ });
}
@TearDown(Level.Trial)
public void closeFile() {
output.close();
}
我想将结果写入JMH使用的相同输出文件中(或至少指示如何充分关闭文件)。