【发布时间】:2021-11-20 19:16:52
【问题描述】:
我想使用microbenchmark 函数对表达式进行计时,但其中一些需要动态创建(在运行时)。
看来我需要使用bquote as.call 和Reduce (Dynamically creating functions and expressions) 但我从未使用过它们并且作者没有详细解释他在做什么,所以很难理解是什么正在发生。
这是我想做的(非常简单):
library(microbenchmark)
# random number of benchmarks
n <- rpois(n = 1, lambda = 5)
# random names
expressions <- LETTERS[rpois(n = n, lambda = 10)]
# random parameters
times <- runif(n = n, max = 1e-5)
microbenchmark(
expressions[1] = Sys.sleep(times[1]),
expressions[2] = Sys.sleep(times[2]),
...
expressions[n] = Sys.sleep(times[n])
)
我知道要求别人做所有事情是不鼓励的,所以谁能至少告诉我应该从哪里开始?
任何帮助将不胜感激:)
【问题讨论】:
标签: r dynamic expression benchmarking microbenchmark