последствия использования callr_function = NULL в целевом пакете
Мне было интересно, что происходит, когда callr_function = NULL? Это просто проблемы с окружающей средой / побочные эффекты?
В основном интересно, потому что я передавал довольно большие пространственно-временные массивы (от 0,5 до 5 гигов), а сериализация callr через saveRDS довольно медленная.
Две вещи, о которых я думал, - это разветвление callr и добавление другой функции сохранения или просто использование callr_function = NULL.
1 ответ
Обычно
targets
запускает конвейер в новом воспроизводимом внешнем сеансе R. просто говорит запустить конвейер в текущем сеансе R. Я рекомендую это только для отладки, потому что в серьезных случаях использования вы можете случайно сделать недействительными некоторые цели на основе измененных данных в вашей глобальной среде.
callr_function = NULL
вероятно, не поможет решить проблемы с большой памятью. Для этого я рекомендую выбрать более эффективный формат хранения для ваших данных, например tar_target (..., format = "перо"). Вы также можете попробовать tar_option_set(memory = "transient", garbage_collection = TRUE) для повышения эффективности использования памяти.