我正在寻找详细描述python垃圾回收如何工作的文档。
我对在哪个步骤中完成操作很感兴趣。这三个集合中有哪些对象?在每个步骤中删除哪些对象?参考循环使用什么算法?
背景:我正在实施一些必须在短时间内完成的搜索。当垃圾收集器开始收集最旧的一代时,它比其他情况“慢很多”。它花费了比计划的更多时间。我正在寻找如何预测何时收集最老的一代以及需要多长时间。
很容易预测何时使用get_count()和收集最老的一代get_threshold()。也可以使用进行操纵set_threshold()。但是我看不出collect()用武力做出更好的决定或等待预定的收集会多么容易。
get_count()
get_threshold()
set_threshold()
collect(
没有关于Python如何进行垃圾回收的明确资源(除了源代码本身),但是这3个链接应该给你一个很好的主意。
更新资料 来源实际上很有帮助。从中获得多少取决于你对C的理解程度,但是注释实际上非常有帮助。跳到该collect()功能,注释会很好地解释该过程(尽管在技术上非常严格)。
collect()