问题标签 [microbenchmark]

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 投票
2 回答
238 浏览

benchmarking - D 隐式转换 Vector(T) 类型

比较代码片段 A:

与 B:

在我的基准测试(DMD、Win7)中,A 比 B 快约 50 毫秒。这是为什么?如果 A 更快,我想使用它,但无论我尝试什么,我都无法让 Vector2!double 隐式转换为 Vector2!float。关于如何隐式转换这些类型的任何想法?或者是否有一些论点为什么我不应该隐含地投射它们?

我正在设置 GDC 和 LDC 以使用这些编译器执行此基准测试,但是如果这只是 DMD 优化问题,有人知道吗?

0 投票
1 回答
939 浏览

java - 定义一个 gradle 任务来运行 caliper microbenchmark

这可能更像是一个 Gradle 问题而不是 Caliper 问题,但我对 Gradle 还是很陌生。我有兴趣在我的构建中提供一个可以使用 Caliper 运行一些基准测试的任务。我已经将 Caliper 添加到我的 testCompile 依赖项中,并且可以正常工作并将所有内容都拉下来。我想知道如何提供一个实际运行基准的任务。

顺便说一句,我已经知道 caliper-ci。我确实有一个 Jenkins 版本,但它在一个云服务上,还不允许我配置 caliper-ci 的使用,此外,我希望能够在将更改提交到云之前在本地运行。

0 投票
1 回答
229 浏览

java - 卡尺@Param 不工作

我正在尝试@Param在具有以下形式的命令行参数的字段上使用注释:“-Dmyparamname=val1,val2,val3”,但它不起作用。我正在使用 caliper-0.5-rc1.jar。我的实际用法如下:

我的基准课程有以下内容:

但是当我运行时,我只能获得 jit 的选项,而不是 -Dprovider:

等等,最终用“jit=-client”重复所有的基准测试

我本来希望看到:

我尝试了各种选项:包括命令 arg 中值的引号,在内部将它们作为 List 类型的静态字段提供等。从来没有任何迹象表明它正在尝试迭代提供的“提供者”值。

关于我做错了什么有什么想法吗?

0 投票
2 回答
2368 浏览

r - 意想不到的结果:微基准

我总是被我看到基准标记和system.timerbenchmark(因为时间的精度可能缺乏)缺乏准确性而有点困扰,并且microbenchmark最近看到哈德利参考了这个包。所以我决定试一试,如下所示。我mean反对f <- function(x) {sum(x)/length(x)}并期望mean做得更好,f但据我了解,结果并不表明这是真的。

  1. 我误解了结果吗?
  2. f 实际上比平均值快吗?
  3. 微基准测试是否仍处于测试阶段,是否需要解决?

我在 win 7 机器上运行 R2.15(因为 microbenchmark 的计时取决于您的操作系统)。

结果

编码

0 投票
2 回答
680 浏览

java - 卡尺:为什么不使用注释来定义基准?

刚刚发现了 Caliper 并浏览了文档 - 它看起来是一个很棒的工具(感谢 Kevin 和 Google 的帮派开源它)。

问题。为什么没有基于注释的机制来定义常见用例的基准?似乎是这样的:

将节省几行代码并增强可读性。

0 投票
3 回答
447 浏览

perl - else 比 elsif 慢吗?

为什么这里的sub einswith theelsesub zweiwith the 慢elsif



0 投票
2 回答
727 浏览

cloud - VoltDB 的 YCSB

有谁知道是否有任何 YCSB 客户端/驱动程序可用于对 VoltDB 进行基准测试?甚至任何参考出版物/博客/文章/研究项目?

我们可以将 TPC 工作负载用于 VoltDB 基准测试吗?

非常感谢大家。

0 投票
2 回答
11726 浏览

java - 了解 -XX:+PrintCompilation 的输出

我正在对 Java 列表迭代代码运行一些微基准测试。我使用了 -XX:+PrintCompilation 和 -verbose:gc 标志来确保在计时运行时后台没有发生任何事情。但是,我在输出中看到了一些我无法理解的内容。

这是代码,我正在运行基准测试:


这是输出。


我不明白输出中的这四行。


  • 为什么这两种方法都被编译两次?
  • 我如何阅读这个输出......各种数字是什么意思?
0 投票
2 回答
286 浏览

android - Android:对两种算法进行基准测试

我已经为同一个问题实现了两种算法,并想找出哪种算法是最好的专业方法。

基本思想是:

并对这两种算法都这样做。

但:

  • 我怎样才能实现,android系统不会在后台进行任何系统计算并歪曲数据

  • 有没有办法我也可以比较使用的内存,两种方法都需要吗?

0 投票
2 回答
178 浏览

java - 有没有办法从 JVM 中判断某个特定方法是否已被 JIT 编译?

在编写微基准测试时,可以观察到运行时的巨大差异,具体取决于方法是否已编译。有没有办法从程序中判断特定方法是否已编译?或者,有没有办法请求它,或者知道如何在没有任何额外信息的情况下充分预热它,例如传递给 JVM 的标志?显然,这不一定是完美的(例如,可能存在一些导致 JVM 回退到解释代码的条件),但这肯定是一种改进。