gpt4 book ai didi

python - 为什么要在 python 中手动运行垃圾回收?

转载 作者:太空狗 更新时间:2023-10-29 22:18:34 25 4
gpt4 key购买 nike

我偶尔会遇到手动调用 gc.collect() 的代码,但不清楚原因。出于什么原因(如果有的话)手动运行垃圾收集比让 Python 自动处理它更有优势?

最佳答案

简而言之,效率。

如果您使用指针来引用某物,它就是在使用内存。即使您停止指向它,它仍会在短时间内占用内存。

Python 的垃圾收集曾经使用引用计数。引用计数是一种智能方式,可以判断某物何时不再需要内存(通过检查它被其他对象引用的频率)。

不幸的是,引用计数仍然是一种计算,因此一直运行它会降低效率(尤其是在不需要时),因此 Python 现在改用计划垃圾回收

问题在于,在某些特定功能中,Python 现在不会在注意到某些内容不再使用时立即进行垃圾回收(如引用计数的情况),因为它会定期进行垃圾回收。

您通常需要在许多服务器应用程序或大规模计算中手动运行垃圾收集,在这些应用中,垃圾收集中的轻​​微违规行为会释放内存。

这是一个link如果我的解释不清楚,来自 Digi.com 的完美总结。我希望这对布伦丹有帮助!

关于python - 为什么要在 python 中手动运行垃圾回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34146304/

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