我正在尝试使用Google Caliper来测试一些简单的代码。我正在使用他们网站上的示例。这是我到目前为止所做的:
这是我的代码:
import com.google.caliper.Benchmark;
public class Benchmark1 extends Benchmark {
public void timeNanoTime(int reps) {
for (int i = 0; i < reps; i++) {
System.nanoTime();
}
}
}
我正在扩展Benchmark,因为当我尝试在他们的网站上扩展“SimpleBenchmark”时,它告诉我它找不到SimpleBenchmark。然后,在我的主要方法中,创建一个新的Benchmark1()希望会发生一些事情。没什么。这是我主要课程中的代码。
Benchmark1 test = new Benchmark1();
test.timeNanoTime(10);
我知道这无疑是一个简单的错误,但我不能,尽管谷歌搜索很多,找出我出错的地方。代码编译但不运行。
编辑:我应该说我在Windows 7上使用Caliper 1.0运行Netbeans
答案 0 :(得分:19)
这是真的;文件过时且不完整。我在做这个工作。与此同时,这将是您的基准测试运行的原因。
您的主要方法应该委托给CaliperMain
,而不是直接委托给基准。尝试
public static void main(String[] args) {
CaliperMain.main(Benchmark1.class, args);
}
Windows将是一个问题。特别是issue 215将成为最大的阻挡者。
答案 1 :(得分:5)
您可以切换到Perfidix http://perfidix.org/
Perfidix具有eclipse Integration,可以像JUnit一样使用。
另一个选项是JUnitbenchmarks http://labs.carrotsearch.com/junit-benchmarks.html
这是Junit 4+的一个非常棒的框架。它甚至可以构建html图表来比较结果。