【问题标题】:Google Caliper: Trouble getting started (Java Benchmarking)Google Caliper:入门时遇到问题(Java 基准测试)
【发布时间】:2016-11-29 05:23: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

【问题讨论】:

    标签: java benchmarking caliper


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 不支持Windows? WTF 请将此作为项目主页上的大红色通知发布。
    • 当前的预发布版本 Caliper 由于一个错误不支持 Windows。随着我们解决错误,支持将返回,但没有开发人员拥有 Windows 机器,因此周转速度很慢。此外,Windows 的优先级较低,因为它是一个不太常见的生产环境,并且由于计时器的不精确性而导致基准测试环境有些差(OS X 的类似问题)。也就是说,由于人们在 Windows 上进行开发,因此使其正常工作仍然是一个目标。请为问题(和任何其他问题)加注星标,因为我们认为这是优先考虑工作的一个因素。
    • 很高兴听到团队正在努力。没有意识到卡尺在它的预发布版本中。在花费时间建立基准并让事情正常工作之后,听到 windows 不能与 caliper 一起工作有点令人沮丧。我同意 Linux 对于生产机器更智能的观点,但有时你在笔记本电脑上编写代码。大多数笔记本电脑都配备了 Windows 和依赖它的制造商提供的特殊软件。因此使用现成的系统会更舒服。也许您的开发人员可以从 Dreamspark 或其他地方获得 Windows。
    • FWIW,如果有人想尝试的话,@HEAD 版本现在可能适用于 Windows。
    • 我可以建议您在主页上添加一条通知,说明已发布的 jar 不支持 Windows,正如 Thorben 所建议的那样?正在开发和/或在头脑中修复它很棒,但这对在 Windows 上开发、看到 jar 并期望它能够工作的任何人都没有帮助。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多