Learn R Programming

bench (version 1.0.2)

summary.bench_mark: Summarize bench::mark results.

Description

Summarize bench::mark results.

Usage

# S3 method for bench_mark
summary(object, filter_gc = TRUE,
  relative = FALSE, ...)

Arguments

object

bench_mark object to summarize.

filter_gc

If TRUE remove iterations that contained at least one garbage collection before summarizing. If TRUE but an expression had a garbage collection in every iteration, filtering is disabled, with a warning.

relative

If TRUE all summaries are computed relative to the minimum execution time rather than absolute time.

...

Additional arguments ignored.

Value

A tibble with the additional summary columns. The following summary columns are computed

  • min - bench_time The minimum execution time.

  • mean - bench_time The arithmetic mean of execution time

  • median - bench_time The sample median of execution time.

  • max - bench_time The maximum execution time.

  • mem_alloc - bench_bytes Total amount of memory allocated by running the expression.

  • itr/sec - integer The estimated number of executions performed per second.

  • n_itr - integer Total number of iterations after filtering garbage collections (if filter_gc == TRUE).

  • n_gc - integer Total number of garbage collections performed over all runs.

Details

If filter_gc == TRUE (the default) runs that contain a garbage collection will be removed before summarizing. This is most useful for fast expressions when the majority of runs do not contain a gc. Call summary(filter_gc = FALSE) if you would like to compute summaries with these times, such as expressions with lots of allocations when all or most runs contain a gc.

Examples

Run this code
# NOT RUN {
dat <- data.frame(x = runif(10000, 1, 1000), y=runif(10000, 1, 1000))

# `bench::mark()` implicitly calls summary() automatically
results <- bench::mark(
  dat[dat$x > 500, ],
  dat[which(dat$x > 500), ],
  subset(dat, x > 500))

# However you can also do so explicitly to filter gc differently.
summary(results, filter_gc = FALSE)

# Or output relative times
summary(results, relative = TRUE)
# }

Run the code above in your browser using DataLab