You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Search for duplicates among the existing issues, both open and closed.
Advanced users: verify that the bottleneck still persists in the current development version (i.e. remotes::install_github("ropensci/drake")) and mention the SHA-1 hash of the Git commit you install.
Description
build_times(), outdated(), and progress() are slowing down vis_drake_graph() for completed workflows, and I think I know how to make them super fast. Instead of individual interactions with the cache to get the metadata, we can use vectorized operations like config$cache$list(namespace = "meta") and config$cache$mget(..., namespace = "meta") to get all the old metadata at once.
Turns out mget() is not really appropriate for getting old metadata in outdated() since we do not know how much metadata we need to read until we have already advanced through the graph. I did implement a speedup in outdated(), but it was minor.
Prework
drake
's code of conduct.remotes::install_github("ropensci/drake")
) and mention the SHA-1 hash of the Git commit you install.Description
build_times()
,outdated()
, andprogress()
are slowing downvis_drake_graph()
for completed workflows, and I think I know how to make them super fast. Instead of individual interactions with the cache to get the metadata, we can use vectorized operations likeconfig$cache$list(namespace = "meta")
andconfig$cache$mget(..., namespace = "meta")
to get all the old metadata at once.Reproducible example
Benchmarks
The text was updated successfully, but these errors were encountered: