| name | bench |
| description | R bench package for benchmarking. Use for high precision timing of R expressions. |
bench
High precision timing of R expressions.
Basic Benchmark
library(bench)
bench::mark(
sqrt(1:1000)
)
bench::mark(
sqrt = sqrt(1:1000),
exp = exp(1:1000),
log = log(1:1000)
)
Options
bench::mark(
sqrt(x),
exp(x),
iterations = 100,
check = TRUE,
memory = TRUE,
time_unit = "ms"
)
Press (Parameter Grid)
results <- bench::press(
n = c(100, 1000, 10000),
{
x <- runif(n)
bench::mark(
sort(x),
order(x)
)
}
)
autoplot(results)
Results
results <- bench::mark(
sqrt(x),
exp(x)
)
results$expression
results$min
results$median
results$mem_alloc
results$n_itr
results$n_gc
Memory Tracking
results <- bench::mark(
method1 = { ... },
method2 = { ... },
memory = TRUE
)
results$mem_alloc
Plotting
library(ggplot2)
autoplot(results)
ggplot(results, aes(x = expression, y = median)) +
geom_col()
System Time
bench::system_time({
Sys.sleep(1)
})
Garbage Collection
bench::mark(
expr,
gc = TRUE
)
results$n_gc
Relative Performance
results <- bench::mark(
baseline = method1(),
improved = method2()
)
results$median / min(results$median)