0

我想知道当 callr_function = NULL 时会发生什么?是否只是环境/副作用中的问题?

主要是想知道,因为我传递了相当大的时空数组(0.5 到 5 gigs),并且通过 saveRDS 的调用者序列化非常慢。

我正在考虑的两件事是分叉 callr 并放入不同的保存函数或仅使用 callr_function = NULL。

4

1 回答 1

0

通常,targets在新的可重现的外部 R 会话中运行管道。callr_function = NULL只是说在当前的 R 会话中运行管道。我只建议将其用于调试,因为在严重的用例中,您可能会根据全局环境中的更改数据意外地使某些目标无效。callr_function = NULL可能无助于解决大内存的问题。为此,我建议为您的数据选择更有效的存储格式,例如 tar_target(..., format = "feather")。您还可以尝试 tar_option_set(memory = "transient",garbage_collection = TRUE) 以获得更好的内存效率。

于 2021-10-13T17:54:23.083 回答