私はpythonガベージコレクションがどのように機能するかを詳細に説明しているドキュメントを探しています。
どのステップで何が行われるのか興味があります。これらの3つのコレクションにはどのようなオブジェクトがありますか?各ステップでどのような種類のオブジェクトが削除されますか?参照サイクルを見つけるためにどのアルゴリズムが使用されますか?
背景:短時間で終了する必要がある検索を実装しています。ガベージコレクターが最も古い世代の収集を開始すると、他の場合よりも「はるかに」遅くなります。検索用のものよりも時間がかかりました。最も古い世代がいつ収集されるか、またどのくらいの時間がかかるかを予測する方法を探しています。
最も古い世代を収集する際に予測することは容易であるget_count()
とget_threshold()
。これもで操作できますset_threshold()
。しかしcollect()
、無理に作ったり、スケジュールされたコレクションを待つ方が、どれほど簡単に決定できるかわかりません。