[解決済み] Pythonで明示的にメモリを解放するにはどうしたらいいですか?
2022-03-19 04:54:16
質問
私は、大きな入力ファイルに作用して、三角形を表す数百万個のオブジェクトを作成するPythonプログラムを書きました。 そのアルゴリズムは
- 入力ファイルを読み込む
- ファイルを処理し、頂点で表される三角形のリストを作成します。
- 頂点のリストの後に三角形のリストが続くという OFF 形式で出力する。 三角形は頂点のリストへのインデックスで表される。
三角形を出力する前に頂点の完全なリストを出力するというOFFの要件は、ファイルに出力を書き込む前に三角形のリストをメモリに保持しなければならないことを意味します。 その間、リストの大きさのためにメモリ・エラーが発生します。
Pythonにデータの一部が不要になり、解放できることを伝える最善の方法は何でしょうか?
どのように解決するのですか?
によると
Python公式ドキュメンテーション
で、参照されないメモリを解放するためにガベージコレクタを明示的に呼び出すことができます。
gc.collect()
. 例
import gc
gc.collect()
を使用して廃棄するものをマークした後、それを実行する必要があります。
del
:
del my_array
del my_object
gc.collect()
関連
-
python implement mysql add delete check change サンプルコード
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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の非常に便利な2つのデコレーターを解説
-
pythonを使ったオフィス自動化コード例
-
python call matlab メソッドの詳細
-
Pythonによるjieba分割ライブラリ
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] マルチプロセシングとスレッディングのPython [重複]について