Cache intermediate data
initial_cache()
get_cache()
rm_cache()
initial_cache_item(item)
get_cache_item(item)
rm_cache_item(item)
update_cache_item(item, elements, ttl = NULL)
get_cache_element(item, elements, default = NULL, prune_expired = TRUE)
prune_cache_item(item)
cache_list_items()
cache_size()
cache_save(path)
cache_load(path)
with_cache(item, key, compute, ttl = NULL)Cache environment, item, or selected elements
if (FALSE) { # \dontrun{
slow_fib <- function(x) {
if (x < 2) return(1)
slow_fib(x-2) + slow_fib(x-1)
}
fast_fib <- function(x) {
if (x < 2) return(1)
res <- get_cache_element('fibonacci', as.character(x))
if (!is.null(res)) {
return(res)
}
res <- fast_fib(x-2) + fast_fib(x-1)
e <- list()
e[[as.character(x)]] <- res
update_cache_item('fibonacci', e)
return(res)
}
system.time(slow_fib(30))
system.time(fast_fib(30))
} # }