summary.bench_mark: Summarize bench::mark results.

Description Usage Arguments Details Value Examples

View source: R/mark.R

Description

Summarize bench::mark results.

Usage

1
2
## 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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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)

Example output

# A tibble: 3 x 13
  expression                  min median `itr/sec` mem_alloc `gc/sec` n_itr
  <bch:expr>                <bch> <bch:>     <dbl> <bch:byt>    <dbl> <int>
1 dat[dat$x > 500, ]        452µs  601µs     1445.     507KB     8.00   723
2 dat[which(dat$x > 500), ] 342µs  417µs     2194.     258KB     8.00  1097
3 subset(dat, x > 500)      606µs  743µs     1265.     510KB    12.0    633
# … with 6 more variables: n_gc <dbl>, total_time <bch:tm>, result <list>,
#   memory <list>, time <list>, gc <list>
# A tibble: 3 x 13
  expression                  min median `itr/sec` mem_alloc `gc/sec` n_itr
  <bch:expr>                <dbl>  <dbl>     <dbl>     <dbl>    <dbl> <int>
1 dat[dat$x > 500, ]         1.32   1.44      1.13      1.97     1.00   719
2 dat[which(dat$x > 500), ]  1      1         1.72      1        1     1093
3 subset(dat, x > 500)       1.77   1.78      1         1.98     1.52   627
# … with 6 more variables: n_gc <dbl>, total_time <bch:tm>, result <list>,
#   memory <list>, time <list>, gc <list>

bench documentation built on March 26, 2020, 6:32 p.m.