Python垃圾回收器文档

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

我感兴趣在哪一步做了什么。 这三个集合中有哪些对象? 每一步中删除了哪些对象? 什么algorithm用于参考循环查找?

背景:我正在实施一些search,必须在less量时间内完成。 当垃圾收集器开始收集最老的一代时,它比其他情况下“慢得多”。 它花费的时间比预期的search更多。 我正在研究如何预测何时收集最老的一代,需要多长时间。

使用get_count()get_threshold()来预测何时收集最早的一代是很容易的。 这也可以用set_threshold()来操纵。 但是我不明白,通过强制collect()或者等待计划收集是更好的办法。

  • Python垃圾收集
  • gc模块文档
  • 关于Python的垃圾收集的详细信息

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

更新

来源实际上很有帮助。 你从中得到多less取决于你阅读C的程度,但是这些评论其实非常有帮助。 跳到collect()函数 https://github.com/python/cpython/blob/master/Modules/gcmodule.c和评论解释过程(尽pipe在技术上非常好)。;