11

我正在尝试使用 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();
      }
    }

}

我正在扩展 Benchmark,因为当我尝试在他们的网站上扩展“SimpleBenchmark”时,它告诉我找不到 SimpleBenchmark。然后,我在我的主要方法中创建一个新的 Benchmark1(),希望会发生一些事情。什么都没有。这是我的主类中的代码。

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

我知道这无疑是一个简单的错误,但尽管谷歌搜索很多,但我无法弄清楚我哪里出错了。代码编译但不运行。

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

4

2 回答 2

20

这是真的; 文档严重过时且不完整。我在做这个工作。同时,这将让您的基准测试运行。

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

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

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

于 2013-05-02T16:33:37.527 回答
6

You could switch over to Perfidix http://perfidix.org/

Perfidix has eclipse Integration and can be used like JUnit.

Another option would be JUnitbenchmarks http://labs.carrotsearch.com/junit-benchmarks.html

It's a really great framework for Junit 4+. It can even build html charts to compare results.

于 2013-05-09T00:01:03.510 回答