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
Apparently, all I need to do is force() all the pre-loaded objects in the subpipeline. It looks like there is an unevaluated promise object that is consuming too much memory. Here I am debugging this example at $run_worker():
> tar_make_clustermq(callr_function=NULL)
● runtargetx_batch
● runbranchx_be02823cCalledfrom:self$run_worker(target)
Browse[1]> object_size(target) # promise object9.32MB# way too big.Browse[1]>tmp<- force(target$subpipeline$targets$x_batch_084b9b29$value$object)
Browse[1]> object_size(target) # evaluated object193kB# much betterBrowse[1]>
The text was updated successfully, but these errors were encountered:
Prework
Description
In this example on an SGE cluster, the targets deploy really slowly.
The profiling study took several minutes.
I saw this flamegraph:
Which tells me exactly where the bottleneck is:
targets/R/class_clustermq.R
Lines 98 to 101 in 66a0655
And sure enough, when I changed just
retrieval
to"worker"
, everything went much faster.Solution
Apparently, all I need to do is
force()
all the pre-loaded objects in the subpipeline. It looks like there is an unevaluated promise object that is consuming too much memory. Here I am debugging this example at$run_worker()
:The text was updated successfully, but these errors were encountered: