【问题标题】:Python garbage collector documentation [closed]Python 垃圾收集器文档 [关闭]
【发布时间】:2011-05-27 22:01:00
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python garbage-collection


    【解决方案1】:

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

    更新

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

    【讨论】:

    • CPython 不再使用 Subversion。他们改用托管在 hg.python.org 上的 Mercurial。由于我不知道如何链接到该站点上文件的当前版本,因此我将链接到 unofficial GitHub mirror
    • 没关系,想办法在官方网站上链接到the latest gcmodule.c。我仍然觉得 GitHub 更具可读性。
    • 学到很多东西。谢谢
    • 第一个链接没有指向任何与 Python 垃圾回收相关的内容。请更新链接。
    猜你喜欢
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    相关资源
    最近更新 更多