Google Caliper:入门困难(Java基准测试)



我正在尝试使用Google Caliper对一些简单的代码进行基准测试。我正在使用他们网站上的例子。下面是我到目前为止所做的:

  1. 下载Caliper JAR并将其添加到我的Netbeans项目
  2. 遇到困难后,我下载了JUnit.jar和hamcrest.jar。

下面是我的代码:

import com.google.caliper.Benchmark;
public class Benchmark1 extends Benchmark {
    public void timeNanoTime(int reps) {
      for (int i = 0; i < reps; i++) {
        System.nanoTime();
      }
    }
}

我正在扩展基准,因为当我试图扩展"SimpleBenchmark",就像在他们的网站上,它告诉我它找不到SimpleBenchmark。然后,在我的主方法中,我创建了一个新的Benchmark1(),希望会发生一些事情。不存在这样的情况。这是我的主类中的代码。

Benchmark1 test = new Benchmark1();
test.timeNanoTime(10);

我知道这无疑是一个简单的错误,但我不能,尽管谷歌,找出我错在哪里。代码可以编译,但不能运行。

编辑:我应该说我在Windows 7上运行Netbeans和Caliper 1.0

是真的;这些文档严重过时且不完整。我正在努力。与此同时,下面是让基准运行的方法。

您的主方法应该委托给CaliperMain,而不是直接委托给基准测试。试着

public static void main(String[] args) {
    CaliperMain.main(Benchmark1.class, args);
}

Windows将是一个问题。特别是,第215条将是最大的障碍。

你可以切换到Perfidix http://perfidix.org/

Perfidix有eclipse集成,可以像JUnit一样使用。

另一个选项是junitbenchmark http://labs.carrotsearch.com/junit-benchmarks.html

对于Junit 4+来说,这是一个非常棒的框架。它甚至可以构建html图表来比较结果。

最新更新