bench_compare {dplyr} | R Documentation |
These functions support the comparison of results and timings across multiple sources.
bench_tbls(tbls, op, ..., times = 10) compare_tbls(tbls, op, ref = NULL, compare = equal_data_frame, ...) compare_tbls2(tbls_x, tbls_y, op, ref = NULL, compare = equal_data_frame, ...) eval_tbls(tbls, op) eval_tbls2(tbls_x, tbls_y, op)
tbls, tbls_x, tbls_y |
A list of |
op |
A function with a single argument, called often with each
element of |
... |
For For |
times |
For benchmarking, the number of times each operation is repeated. |
ref |
For checking, a data frame to test results against. If not
supplied, defaults to the results from the first |
compare |
A function used to compare the results. Defaults to
|
eval_tbls()
: a list of data frames.
compare_tbls()
: an invisible TRUE
on success, otherwise
an error is thrown.
bench_tbls()
: an object of class
microbenchmark::microbenchmark()
src_local()
for working with local data
## Not run: if (require("microbenchmark") && has_lahman()) { lahman_local <- lahman_srcs("df", "sqlite") teams <- lapply(lahman_local, function(x) x %>% tbl("Teams")) compare_tbls(teams, function(x) x %>% filter(yearID == 2010)) bench_tbls(teams, function(x) x %>% filter(yearID == 2010)) # You can also supply arbitrary additional arguments to bench_tbls # if there are other operations you'd like to compare. bench_tbls(teams, function(x) x %>% filter(yearID == 2010), base = subset(Lahman::Teams, yearID == 2010)) # A more complicated example using multiple tables setup <- function(src) { list( src %>% tbl("Batting") %>% filter(stint == 1) %>% select(playerID:H), src %>% tbl("Master") %>% select(playerID, birthYear) ) } two_tables <- lapply(lahman_local, setup) op <- function(tbls) { semi_join(tbls[[1]], tbls[[2]], by = "playerID") } # compare_tbls(two_tables, op) bench_tbls(two_tables, op, times = 2) } ## End(Not run)