- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我总是因为缺乏准确性而感到有点困扰,我看到基准标记为 system.time
和rbenchmark
(因为可能缺乏计时的精确性)并看到哈德利引用了 microbenchmark
最近包。所以我决定尝试一下,如下所示。我坑了mean
反对f <- function(x) {sum(x)/length(x)}
和预期mean
比 f
做得更好但据我了解,结果并不表明这是真的。
我在 win 7 机器上运行 R2.15(因为微基准测试根据您的操作系统进行计时)。
结果
Unit: microseconds
expr min lq median uq max
1 f(x) 19.130 20.529 20.529 20.996 286.00
2 mean(x) 28.927 29.860 30.327 30.327 672.31
代码
library(microbenchmark)
x <- 1:10000
f <- function(x) {sum(x)/length(x)}
mean(x)
res <- microbenchmark(
mean(x),
f(x),
times=1000L)
print(res)
boxplot(res)
最佳答案
我可能是错的,但这对我来说似乎并不那么令人惊讶。在 mean.default
可以调用 .Internal(mean(x))
之前,它必须检查 3 个 if
语句,计算 的长度x
,然后检查另一个 if
语句。而且时间上的差异相当小。
直接调用 .Internal(mean(x)
仍然稍快一些:
library(microbenchmark)
x <- 1:10000
f1 <- function(x) {sum(x)/length(x)}
f2 <- function(x) {.Internal(mean(x))}
res <- microbenchmark(
mean(x),
f1(x),
f2(x),
times=1000L)
print(res)
Unit: microseconds
expr min lq median uq max
1 f1(x) 32.195 32.4605 32.8850 33.4645 106.997
2 f2(x) 21.840 22.0580 22.2015 22.6270 55.316
3 mean(x) 35.393 35.9840 36.1860 36.4420 91.203
关于r - 意外结果 : microbenchmark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365108/
JMH似乎具有大多数卡尺功能,或者比caliper更好,但我无法弄清楚如何测量分配率,这通常可以用来查看微基准。 JMH是衡量分配率的错误工具吗? 最佳答案 JMH中没有准确的分配率度量。这是用于探查
我总是因为缺乏准确性而感到有点困扰,我看到基准标记为 system.time和rbenchmark (因为可能缺乏计时的精确性)并看到哈德利引用了 microbenchmark最近包。所以我决定尝试一
题 像 assoc 这样的小型 Clojure 函数有多快?我怀疑 assoc在 100ns 到 3us 范围内运行,这使得计时变得困难。 使用 time user=> (def d {1 1, 2
根据文档,microbenchmark:::autoplot“使用 ggplot2 生成更清晰的微基准计时图表。” 酷!让我们尝试一下示例代码: library("ggplot2") tm 答案越长
我读到,为了避免在微基准测试中消除死代码,最常见的解决方案是: 返回计算结果 使用黑洞消耗结果。 我的问题是: 是否可以通过将计算结果放在公共(public)变量中来避免无用代码消除? 编辑: 感谢
getPrimaryResults有什么区别和 getSecondaryResults RunResults 的方法JMH的类(class)? 最佳答案 我没有在代码基础上验证它,但据我所知,主要结果
这个标志-XX:+CompileTheWorld有什么用? 我找到了这个标志 here哪里说的 Compile all methods in all classes in bootstrap clas
这可能更像是 Gradle 问题而不是 Caliper 问题,但我对 Gradle 还是比较陌生。我有兴趣在我的构建中提供一个可以使用 Caliper 运行一些基准测试的任务。我已经将 Caliper
根据 JEP 230: Microbenchmark Suite ,存在一个内置于 Java 12 的微基准测试套件。JEP 解释说它基本上是 JMH,但不需要使用 Maven/Gradle 显式依赖
我需要使用 JMH 计算至少 10 k 个文件的 Java IO 和 NIO 文件大小以及修改时间 api 的性能。我需要解决这个问题的代码。请指导如何写。 我的一个文件的示例代码如下: @State
我想用 JMH 测量斐波那契函数的性能。但是在编译时出现以下错误: Exception in thread "main" java.lang.RuntimeException: ERROR: Unab
我是一名优秀的程序员,十分优秀!