gpt4 book ai didi

r - gc() 和 rm() 有什么区别

转载 作者:行者123 更新时间:2023-12-01 22:58:26 35 4
gpt4 key购买 nike

我通过调用 rm(list=ls()) 定期清理 R 中的内存
之后我需要调用垃圾收集器gc()吗?

这两个函数有什么区别? gc() 是否为某些变量调用 rm()

最佳答案

首先,需要注意的是,两者非常不同,gc 不会删除您仍在使用的任何变量 - 它只会释放内存对于您不再有权访问的内容(无论是使用 rm() 删除,还是在已返回的函数中创建)。运行 gc() 永远不会让你丢失变量。

不过,在调用 rm() 之后是否应该调用 gc() 的问题是一个很好的问题。 documentation对于 gc 有用的注释:

A call of gc causes a garbage collection to take place. This will also take place automatically without user intervention, and the primary purpose of calling gc is for the report on memory usage.

However, it can be useful to call gc after a large object has been removed, as this may prompt R to return memory to the operating system.

所以答案是,调用 gc() 是件好事(至少不会造成伤害),即使它可能无论如何都会被触发(如果不是立即触发的话) ,然后很快)。

关于r - gc() 和 rm() 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8813753/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com