[解決済み] Pythonガベージコレクタのドキュメント [終了しました]。
2022-06-25 20:42:19
質問
Pythonのガベージコレクションがどのように動作するのか、詳しく説明されているドキュメントを探しています。
私は、どのステップで何が行われるかに興味があります。これらの3つのコレクションにはどのようなオブジェクトがあるのでしょうか?どのような種類のオブジェクトが各ステップで削除されますか?参照サイクルを見つけるためにどのようなアルゴリズムが使用されていますか?
背景 私は、少量の時間で終了する必要があるいくつかの検索を実装しています。ガベージコレクタが最も古い世代の収集を開始するとき、それは他のケースよりも"much"遅いです。検索のために意図されたよりも多くの時間がかかりました。私は、最も古い世代を収集するタイミングと、それにかかる時間を予測する方法を探しています。
最も古い世代を収集するタイミングを予測するのは簡単です。
get_count()
と
get_threshold()
. これもまた
set_threshold()
. しかし、私は、この問題を解決するために
collect()
を無理矢理作るのがいいのか、それとも予定された回収を待つのがいいのか、判断が難しいところです。
どのように解決するのですか?
Pythonがどのようにガベージコレクションを行うかについての決定的なリソースは(ソースコードそのもの以外に)ありませんが、これらの3つのリンクはかなり良いアイデアを与えてくれるはずです。
更新情報
ソースは実際にかなり役に立ちます。C言語をどれだけ読めるかによりますが、コメントは実際にとても役に立ちます。をスキップして
collect()
機能
であり、コメントでは(非常に専門的な用語ではありますが)そのプロセスがよく説明されています。
関連
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み】なぜC++にはガベージコレクタがないのですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'