hook_benchmark adds the benchmark feature to chunks. To benchmark a chunk, specifying benchmark=TRUE as a chunk option.

# Basic usage

library(chunkhooks)
hook_benchmark()
# benchmark=TRUE is specified as a chunk option
sum(seq(100))
#> [1] 5050

bench1: 4ms

As the above result shows, output format contains chunk label. I recommend specifying chunk options explicitly. Note that this function is experimental, and format may change in the future.

# Formatting results

If you do not like the default formatting, you may provide original function to the format argument. The function takes a result of a benchmark in seconds as the first argument, and a list of current chunk options as the second argument. The example below shows the benchmark result as is. Make sure the formatting function returns a string.

hook_benchmark(format = function(x, options) as.character(x))
sum(seq(100))
#> [1] 5050

0.002

# Insert results in body text

If you need to insert the result with the text, use chunkhooks::benchmarks environment. This environment records all the benchmark results in seconds. You can extract a result by specifying a chunk label.

For example, r benchmarks\$bench1 gives 0.003.