Nothing
test_that("shard_map view-enabled xTy path has zero view materialization in hot path", {
skip_on_cran()
pool_stop()
shard:::view_reset_diagnostics()
n <- 200L
p <- 8L
v <- 24L
X <- matrix(rnorm(n * p), nrow = n)
Y <- matrix(rnorm(n * v), nrow = n)
colnames(X) <- paste0("x", seq_len(ncol(X)))
colnames(Y) <- paste0("y", seq_len(ncol(Y)))
Xsh <- share(X, backing = "mmap")
Ysh <- share(Y, backing = "mmap")
blocks <- shards(ncol(Y), block_size = 6, workers = 2)
result <- shard_map(
blocks,
borrow = list(X = Xsh, Y = Ysh),
fun = function(shard, X, Y) {
vY <- view_block(Y, cols = idx_range(shard$start, shard$end))
shard:::view_xTy(X, vY)
},
workers = 2,
diagnostics = TRUE
)
expect_true(succeeded(result))
cr <- copy_report(result)
expect_gt(cr$view_created %||% 0L, 0L)
expect_equal(cr$view_materialized %||% 0L, 0L)
expect_equal(cr$view_materialized_bytes %||% 0, 0)
# Spot-check correctness by recombining blocks.
mats <- results(result)
out <- do.call(cbind, mats)
expect_equal(out, crossprod(X, Y))
pool_stop()
})
test_that("shard_map view-enabled crossprod(vX, vY) path has zero view materialization", {
skip_on_cran()
pool_stop()
shard:::view_reset_diagnostics()
n <- 300L
p <- 16L
v <- 40L
X <- matrix(rnorm(n * p), nrow = n)
Y <- matrix(rnorm(n * v), nrow = n)
colnames(X) <- paste0("x", seq_len(ncol(X)))
colnames(Y) <- paste0("y", seq_len(ncol(Y)))
Xsh <- share(X, backing = "mmap")
Ysh <- share(Y, backing = "mmap")
blocks <- shards(ncol(Y), block_size = 10, workers = 2)
res <- shard_map(
blocks,
borrow = list(X = Xsh, Y = Ysh),
fun = function(shard, X, Y) {
vX <- view_block(X, cols = idx_range(1, ncol(X)))
vY <- view_block(Y, cols = idx_range(shard$start, shard$end))
shard:::view_crossprod(vX, vY)
},
workers = 2,
diagnostics = TRUE
)
expect_true(succeeded(res))
cr <- copy_report(res)
expect_gt(cr$view_created %||% 0L, 0L)
expect_equal(cr$view_materialized %||% 0L, 0L)
expect_equal(cr$view_materialized_bytes %||% 0, 0)
mats <- results(res)
out <- do.call(cbind, mats)
expect_equal(out, crossprod(X, Y))
pool_stop()
})
test_that("view_col_vars matches base var() for block views", {
skip_on_cran()
pool_stop()
n <- 200L
p <- 20L
X <- matrix(rnorm(n * p), nrow = n)
colnames(X) <- paste0("x", seq_len(ncol(X)))
Xsh <- share(X, backing = "mmap")
vX <- view_block(Xsh, cols = idx_range(5, 15))
expected <- apply(X[, 5:15, drop = FALSE], 2, var)
actual <- shard:::view_col_vars(vX)
expect_equal(as.numeric(actual), as.numeric(expected), tolerance = 1e-10)
expect_equal(names(actual), colnames(X)[5:15])
pool_stop()
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.