1

好的,卡尺又出现了一些问题。

我现在在 Linux 上运行,尝试使用 beta 快照。我正在尝试仅使用 jar 通过命令行运行 Google 的卡尺。(测试版快照)

无法在这台机器上访问 maven,安装它是不可能的。我只想使用一个罐子,也许一旦它起作用了,我就可以编写一个脚本或其他东西。

这是我正在做的事情:

1.使用小例子Benchmark:

import com.google.caliper.Benchmark;

public class Tutorial {

  public static class Benchmark1 {
    @Benchmark void timeNanoTime(int reps) {
      for (int i = 0; i < reps; i++) {
        System.nanoTime();
      }
    }
  }
}

2.编译javac -cp caliper-1.0-beta-SNAPSHOT-all.jar Tutorial.java

3.(尝试)运行

java -cp caliper-1.0-beta-SNAPSHOT-all.jar com.google.caliper.runner.CaliperMain Tutorial.Benchmark1, 接收消息Benchmark class not found: Tutorial.Benchmark1

我试图从各种来源的点点滴滴的信息中解决这个问题,但我真的很喜欢这个。我会很感激任何意见。

4

1 回答 1

0

我相信你真的不需要 Maven,这应该可以。

找不到您自己的类,我认为这是您的类路径的问题。因为它们通常对嵌套类有更多问题,所以尝试简单

java -cp caliper-1.0-beta-SNAPSHOT-all.jar com.google.caliper.runner.CaliperMain Tutorial

如果消息更改为“类不包含基准”之类的内容,那么您将了解更多信息。如果您坚持使用嵌套类,您可能需要调用Tutorial$Benchmark1(不太可能,但可能;java 类命名有问题)。

请也试试

java -cp caliper-1.0-beta-SNAPSHOT-all.jar Tutorial.Benchmark1

查看您的类是否位于类路径上(消息应更改为“无主方法”之类的内容)。

另请参阅这篇较早的帖子

于 2014-02-04T00:14:04.237 回答