Python 垃圾收集器文档

标签 python garbage-collection

我正在寻找详细描述 python 垃圾收集如何工作的文档。

我对在哪一步做了什么感兴趣。这 3 个集合中有哪些对象?每个步骤中删除了哪些类型的对象?引用循环查找使用什么算法?

背景:我正在实现一些必须在短时间内完成的搜索。当垃圾收集器开始收集最老的一代时,它比其他情况“慢得多”。它花费的时间超过了搜索的预期时间。我正在寻找如何预测它何时会收集最老一代以及需要多长时间。

使用 get_count()get_threshold() 很容易预测它何时会收集最老一代。这也可以使用 set_threshold() 进行操作。但是我看不出是通过强制进行 collect() 还是等待预定的收集更好。

最佳答案

没有关于 Python 如何进行垃圾收集的明确资源(除了源代码本身),但是这 3 个链接应该会给你一个很好的想法。

更新

该来源实际上很有帮助。你能从中得到多少取决于你对 C 的阅读程度,但这些评论实际上非常有帮助。跳至 collect() function并且评论很好地解释了这个过程(尽管用非常技术性的术语)。

关于Python 垃圾收集器文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484167/

相关文章:

delegates - c++/cli 终结器中免费 GCHandle 的最佳实践

JavaScript/JQuery 垃圾收集和事件

python - Sqlalchemy 包含带有 join 和 contains_eager 的空关系

python - 正确使用 Django Mixins

java - 我的对象会被垃圾收集吗?

imap_unordered 中的 Python 垃圾收集

c# - 在 C# 中正确处理 COM 互操作对象,尤其是 MS Office 应用程序

python - 使用混合 Django 模型和字典的 Django JSON 序列化

python - 模拟/修补对象属性以测试方法

python - 'datalim' 属性有什么作用?