R: Summarize bench::mark results.

summary.bench_mark {bench} | R Documentation

## Summarize bench::mark results.

### Description

Summarize bench::mark results.

### Usage

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

### 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.
`time_unit` | If `NULL` the times are reported in a human readable fashion depending on each value. If one of 'ns', 'us', 'ms', 's', 'm', 'h', 'd', 'w' the time units are instead expressed as nanoseconds, microseconds, milliseconds, seconds, hours, minutes, days or weeks respectively.
`...` | Additional arguments ignored.

### 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.

### 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 iterations. This is a psudo-measure of the pressure on the garbage collector, if it varies greatly between to alternatives generally the one with fewer collections will cause fewer allocation in real usage.

### Examples

    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)

[Package bench version 1.0.4 Index]