最佳答案
我正在寻找详细描述 Python 垃圾收集如何工作的文档。
我感兴趣的是在哪一步做了什么。这3个集合中有哪些对象?在每个步骤中删除哪些类型的对象?用什么算法来寻找参考周期?
背景: 我正在实现一些必须在少量时间内完成的搜索。当垃圾收集器开始收集最老的一代时,它比其他情况下“慢得多”。它花费的时间比预期的搜索时间还要多。我正在寻找如何预测它什么时候会收集最古老的一代,以及需要多长时间。
它很容易预测什么时候将收集与 get_count()
和 get_threshold()
最老的一代。这也可以用 set_threshold()
操纵。但是我不认为强制制作 collect()
或者等待预定的收集会更好。