问题标签 [caliper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1435 浏览

java - 使用 Caliper 时如何指定命令行?

我发现 Google 的微型基准测试项目 Caliper 非常有趣,但文档仍然(除了一些示例)完全不存在。

我有两种不同的情况需要影响 JVM 卡尺启动的命令行:

  1. 我需要设置一些固定的(最好在几个固定值之间交替)-D 参数
  2. 我需要指定一些固定(理想情况下在几个固定值之间交替)JVM 参数

我看到了一些关于添加此类功能的讨论,但我无法得出结论是否已添加它,在这种情况下,语法会变成什么?

一些示例或指向 Java 文档的指针(假设这完全记录在某处)等将非常感激!

0 投票
1 回答
1062 浏览

java - Caliper:如何运行多个基准测试?

我已经使用Caliper编写了一些基准测试。如何一次运行多个基准测试?我目前有许多扩展 SimpleBenchmark 的类,每个类都有一些 timeXXX 方法。是否可以同时运行所有这些?

SimpleBenchmark 的 javadocs说:

套件的基准由 定义。它们可能是静态的。他们不允许带参数。. ..

呃,什么?这看起来不完整。

Caliper 的邮件列表说它不是用于问答的,并且在这里发布一个带有“caliper”标签的问题。但是,我看到零个带有此标签的 SO 帖子!由于我还没有 1500 个代表,我无法创建新标签。

用例:只有一种 setUp/tearDown 方法。我的基准课程中有很多测试,每个测试都分配了大量内存。我目前必须使用一个庞大的堆,随着我添加更多测试,它只会变得更大。此外,一个文件中的许多测试变得有点难以维护。最好指定多个基准类并将所有测试中的所有测试视为一次运行。

0 投票
1 回答
691 浏览

java - 卡尺:如何发布在线结果?

我目前正在尝试使用谷歌代码项目 wiki 上提供的少数文档来解决 Caliper 问题。在设法运行了一些基准测试之后,我现在想将结果发布到网上,这样我可以比在命令行上更清楚地阅读它们。

我按照 wiki 上的说明访问了 microbenchmarks.appspot.com 网站并将 API 密钥复制到我的“.caliperrc”文件中。作为旁注,这个网页告诉我“.caliperrc”文件应该是“在 Windows 上:C:\.caliperrc”,但实际上,Caliper 在 Windows 上的 %HOME%\.caliperrc 中搜索(至少对于七):c:\users\%login%\.caliperrc。

有了这个,Caliper 确实尝试上传结果......但它失败并显示消息“发布到http://microbenchmarks.appspot.com:80/run/ failed: Internal Server Error”。当我更改 Runner.run 方法的代码以便它也打印 RuntimeException 的堆栈跟踪时,它如下所示(%APIKey% 在我的 .caliperrc 文件中存在“APIKey”的字符串):

我错过了我应该遵循的步骤吗?如果重要的话,我在 Windows 7 64 位上使用以下 Java 版本直接从 svn 运行 Caliper 源代码:

0 投票
1 回答
805 浏览

java - 运行基准测试时出现异常

我只是想写一个简单的基准 -

但它失败了,但有例外 -

我的另一个基准测试运行得非常好......我在这里做错了吗?

0 投票
2 回答
1407 浏览

android - 使用 Vogar 进行简单的基准测试

我想为 android 编写简单的基准测试软件。我研究并找到了 Caliper + Vogar。但是没有关于它们的例子。有人用吗?我需要简单的代码来从 android Activity 调用 Caliper Benchmarks。

感谢帮助。

0 投票
2 回答
165 浏览

java - 如何命名使用 Caliper 在线发送的运行?

我有一个需要多次运行才能比较结果的基准,因为它需要使用不同的编译器和编译参数进行编译。当我执行它时,运行以简单的指示符在线发送:A、B、C 等。

我想配置 Caliper 以便我可以为每次运行传递一个名称。那可能吗?

0 投票
2 回答
712 浏览

java - 卡尺:如果我使用 measureMemory 参数运行,则配置异常

当我从 Caliper 源(http://code.google.com/p/caliper/source/browse/#svn%2Ftrunk%2Ftutorial)打开 Tutorial.java 中的 measureMemory 参数时,我收到 ConfigurationException(代理库失败)

不知道我错过了什么。我在当地建造了卡尺罐。没有这个参数,一切都很好。我想看看我的操作消耗了多少内存

谢谢, 迪内什

0 投票
0 回答
179 浏览

java - NonConstantMemoryUsage 异常

我在打开 MeasureMemory 的情况下进行测试,并得到“NonConstantMemoryUsage”异常。

我没有按照错误消息的建议修改代表。我错过了什么?

错误:并非内循环的所有代表都分配了相同的次数!reps 循环应该使用恒定数量的分配。您是否在循环内使用 reps 的值?

现在我评论了 AllocationMeasurer 中抛出 NonConstantMemoryUsage 的代码(不确定这是否是个好主意!),以便我可以继续。我现在得到负字节分配。

length     instances        B       s        linear runtime
  1        -45356.000 -2873264.000 5.02 =============================
  10       -45816.000 -2873264.000 5.04 ==============================

vm:java
试用:0
基准测试:GetCompleteUserInfoByEmail
试用:5
内存:-Xmx1024M

0 投票
3 回答
1030 浏览

java - Java 中的自动运行时性能回归测试

我正在寻找以自动方式检测代码运行时性能变化的方法。这将以与 JUnit 类似的方式运行,但不是测试代码的功能,而是测试速度的突然变化。据我所知,目前没有工具可以自动执行此操作。

所以第一个问题是:有没有可用的工具可以做到这一点?

那么第二个问题是:如果没有可用的工具并且我需要自己推出,那么需要解决哪些问题?

如果第二个问题是相关的,那么这是我看到的问题:

  1. 可变性取决于它运行的环境。
  2. 由于 Java 中的微基准测试有很大的差异,如何检测变化。
  3. 如果 Caliper 收集结果,如何将结果从 caliper 中取出,以便以自定义格式保存。缺少 Calibre 的文档。
0 投票
0 回答
198 浏览

caliper - Caliper 因“错误:无法找到或加载主类”而失去对工人的跟踪

我正在尝试运行 Caliper,但我得到了可怕的基准死亡异常:

CaliperRun 中的 errorLog 包含“错误:无法找到或加载主类”,但没有堆栈跟踪或其他任何有用的信息。

从堆栈跟踪中可以看出,我正在使用 Mirah 生成基准测试类,但在您怀疑 Mirah 是问题之前,这里是在我的基准测试类中生成的 javap 反编译的 main 方法:

(您可以看到这也存在于堆栈跟踪中。)

关于从哪里开始挖掘以调试此问题的任何提示?我不知道这个问题可能来自于 Caliper。