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