rxTest({
expand.grid.jc <- function(seq1, seq2) {
cbind(
Var1 = rep.int(seq1, length(seq2)),
Var2 = rep.int(seq2, rep.int(length(seq1), length(seq2)))
)
}
skip_if_not_installed("microbenchmark")
x <- microbenchmark::microbenchmark(rxExpandGrid(letters, letters), expand.grid.jc(letters, letters))
x <- as.data.frame(x) %>%
dplyr::group_by(expr) %>%
dplyr::summarize(x = median(time)) %>%
dplyr::arrange(expr)
## test_that("rxExpandGrid is faster that expand.grid.jc", {
## expect_true(x$x[1] < x$x[2]);
## })
f <- function() {
tmp <- setNames(data.frame(expand.grid.jc(letters, letters),
stringsAsFactors = FALSE
), c("s1", "s2"))
tmp <- cbind(tmp, with(tmp, data.frame(
rx = paste0("df(", s1, ")/dy(", s1, ")"),
sym = paste0("__d_df_", s1, "_dy_", s2, "__"),
line = paste0("__d_df_", s1, "_dy_", s2, "__=diff(rx__d_dt_", s1, "__, ", s2, ")")
)))
return(tmp)
}
x <- microbenchmark::microbenchmark(
rxExpandGrid(letters, letters, 1L),
f()
)
x <- as.data.frame(x) %>%
dplyr::group_by(expr) %>%
dplyr::summarize(x = median(time)) %>%
dplyr::arrange(expr)
test_that("rxExpandGrid is faster than printing out letters", {
skip_if_not(x$x[1] < x$x[2],"rxExpandGrid is not faster than printing out letters (in codecov)")
expect_true(x$x[1] < x$x[2])
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.