Roc*_*nce 59 garbage-collection memory-management r
我定期用R调用来清理R中的内存rm(list=ls())
.
之后我需要打电话给垃圾收集器gc()
吗?
这两个功能有什么区别?是否gc()
要求rm()
某些变量?
Dav*_*son 77
首先,重要的是要注意两者是非常不同的,gc
因为它们不会删除您仍在使用的任何变量 - 它只释放您不再有权访问的内存(无论是使用rm()
或者,例如,创建的在一个已经返回的函数中).跑步gc()
永远不会让你失去变数.
但是,你是否应该在打电话gc()
后打电话rm()
是一个很好的问题.gc 的文档有用地说明:
调用gc会导致垃圾收集.这也将在没有用户干预的情况下自动进行,调用gc的主要目的是报告内存使用情况.
但是,在删除大对象后调用gc会很有用,因为这可能会提示R将内存返回给操作系统.
所以答案是,调用gc()
(并且至少不会受到伤害)是好的,即使它可能会被触发(如果不是马上,那么很快).
归档时间: |
|
查看次数: |
39920 次 |
最近记录: |