我开始在R中使用gc()
进行垃圾收集。我有16 GB的RAM,有时,使用此命令时,最多可释放10 GB RAM。
在函数内部使用gc()
是否有意义?通常,我编写/使用的函数几乎都需要所有可用的RAM。或者R 可靠地清理仅在函数内部使用的内存吗?
示例:
f <- function(x) {
# do something
y <- doStuff(x)
# do something else
z <- doMoreStuff(y)
# garbage collection
gc()
# return result
return(z)
}
答案 0 :(得分:0)
调用gc()
基本上没有意义,因为当需要更多内存时,R会自动调用它。我可以想到明确调用gc()
的唯一原因是,如果另一个程序需要R占用的内存。