- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我下载了最新的 google caliper 源代码并使用 maven 构建它。现在我正在尝试运行给定 here. 的 google caliper 示例测试.我正在使用以下命令来执行测试。
java -cp /home/rakesh/programming/refcode/caliper/caliper/target/caliper-1.0-SNAPSHOT.jar com.google.caliper.Runner examples.StringBuilderBenchmark
但是我得到以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Splitter
at com.google.caliper.Runner.<clinit>(Runner.java:67)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Splitter
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
我试图查看 caliper jar 文件,但找不到 com.google.common.base.Splitter 类文件。甚至我也无法获取 Splitter.java 文件。任何人都可以建议我在这里缺少什么吗?
编辑 1:
我发现 com.google.common.base.Splitter 类存在于 appengine-tools-sdk-1.2.1.jar jar 文件中,我将该 jar 文件包含在命令中,如下所示。
java -cp /home/rakesh/programming/refcode/caliper/caliper/target/caliper-1.0-SNAPSHOT.jar:/home/rakesh/programming/refcode/caliper/examples/appengine-tools-sdk-1.2.1.jar com.google.caliper.Runner examples.StringBuilderBenchmark
但错误是一样的,它看起来不像命令正在查看另一个具有 Splitter 类的 jar 文件。
最佳答案
我的回答不是真正的答案,但评论太长了。
不幸的是,我对 maven 几乎一无所知。对我有用的是下载 git 存储库并创建 eclipse 项目。这肯定不是一个干净的解决方案,但它很简单并且让我可以从库中学习。
对我有用的:
在我的工作树中,我找到了 pom.xml,切换到该目录并运行 mvn install
。它在 ~/.m2/repository
深处的某处创建了一些 jar。由于路径对我来说太长了,我通过 ln -s ~/.m2/repository/com/google/.
创建了一个符号链接(symbolic link)。我手动编译了 StringBuilderBenchmark
并准确地得到了你的错误。
然后我在我的 guava 文件夹中运行 mvn install
并且现在正在运行
java -cp .:\
./google/caliper/caliper/1.0-SNAPSHOT/caliper-1.0-SNAPSHOT.jar:\
./google/guava/guava/12.0/guava-12.0.jar \
examples/StringBuilderBenchmark
提示 gson 缺少 com/google/gson/JsonParser
.那么您可能需要 google instrumenter,仅此而已。
这肯定不是要走的路。 Maven 应该会处理好所有事情,我非常希望它能做到。我建议将标签 maven
添加到您的问题中。
关于java - google Caliper 示例测试不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128053/
我正在测试两种方法的 6 种不同实现,这需要 time* 12 方法。使用接口(interface)和带有 Supplier 的 @Param 我只需要 2 个方法,但可能会有一些相关的开销,所以我编
刚刚了解了 Caliper,并浏览了文档 - 它看起来是一个很棒的工具(感谢 Kevin 和 Google 的团队将其开源)。 问题。为什么没有基于注释的机制来为常见用例定义基准?似乎是这样的: pu
我正在尝试对通过 slf4j 使用时两种不同 log4j 模式布局的性能进行基准测试。我正在使用 caliper(当前 HEAD 版本)。 这是我的基准类: public class PatternL
谁能帮我解答这个问题。我用单一方法编写简单的基准测试 public void timeIntArrayBlockingQueue(int reps) { for (int i = 0; i < r
我已经使用 Caliper 编写了一些基准测试.如何一次运行多个基准测试?我目前有许多扩展 SimpleBenchmark 的类,每个类都有一些 timeXXX 方法。是否可以同时运行所有这些? Si
对于 ELKI我需要(并且拥有)比标准 Java JDK 和 Collections API 提供的更灵活的排序实现。 (排序不是我的最终目标。我使用部分排序来批量加载索引结构,例如 k-d-tree
所以我了解了 Caliper 并尝试使用它。所以我写了以下内容来开始这个框架: public class HashTableBenchMark { HashMap
我最近发现了 Caliper benchmark framework for Java这似乎是一个非常有用的微基准测试工具。我使用它为我的 vector 数学库运行微基准测试 ( vectorz )
我使用 Google Caliper 对检查字符串中 mdn 编号的两种方法进行基准测试。一种方法使用用户定义的方法,而另一种方法使用正则表达式。我真的很惊讶地发现,平均而言,正则表达式方法比用户定义
好的,卡尺再次遇到一些问题。 我现在在 Linux 上运行,尝试使用 beta 快照。我正在尝试仅使用 jar 通过命令行运行 Google 的卡尺。 (测试版快照) 我无法访问这台机器上的maven
当我打开measureMemory参数时,我收到ConfigurationException(代理库失败)来自 Caliper 源的 Tutorial.java (http://code.google
我试图弄清楚如何使用 Caliper 在 Eclipse 中进行基准测试,但我一无所获。我尝试按照此处找到的 26 分钟教程进行操作:https://code.google.com/p/caliper
我下载了最新的 google caliper 源代码并使用 maven 构建它。现在我正在尝试运行给定 here. 的 google caliper 示例测试.我正在使用以下命令来执行测试。 java
我有一个基准测试需要多次运行来比较结果,因为它需要使用不同的编译器和编译参数进行编译。当我执行它时,运行会通过简单的指示符在线发送:A、B、C 等。 我想配置 Caliper,以便我可以为每次运行传递
我最近的任务是对我们 API 的一些功能进行基准测试,并且我一直在使用 Caliper 来执行此操作。它看起来相当简单,实际上非常强大,我一直在关注这里的教程: How to use caliper
我正在使用 Google Caliper(最新的主代码)对二维的四段代码进行基准测试。例如,以下基准测试方法: @Benchmark mechanismOneBreadth(...) @Benchma
在 Caliper ~0.5 中,基准运行伴随着每个基准运行的一些人类可读的控制台输出,例如: stringCount benchmark ns linear runti
有人要求我使用 Google 的 Caliper 项目创建一些微基准测试。我非常想使用最新的 beta 快照的注释功能,但除了一些小示异常(exception),我很难找到关于如何实际运行该东西的好文
我得到了一个如下所示的 Caliper 基准测试: public Course timeCourseCreation( int i ) { return createCourse( i ); }
这可能更像是 Gradle 问题而不是 Caliper 问题,但我对 Gradle 还是比较陌生。我有兴趣在我的构建中提供一个可以使用 Caliper 运行一些基准测试的任务。我已经将 Caliper
我是一名优秀的程序员,十分优秀!