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

  • 下载了Caliper JAR并将其添加到我的Netbeans项目
  • 在遇到困难之后,我下载了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);
    

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

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

    最佳答案

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

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

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

    Windows将是一个问题。特别地,issue 215将是最大的阻止者。

    10-08 09:08