[解決済み] gc()とrm()の違いは何ですか?
2023-06-07 20:17:03
質問
Rで定期的にメモリのクリーニングを行っているのですが、その際に
rm(list=ls())
.
ガベージコレクタを呼び出す必要があるか
gc()
を呼び出す必要がありますか?
この2つの関数の違いは何ですか?また
gc()
を呼び出すか
rm()
を特定の変数に対して呼び出すのですか?
どのように解決するのですか?
まず、この2つが大きく異なる点として
gc
は
任意の
変数が削除されるわけではありません。
rm()
を使って削除されたもの、あるいは関数内で作成され、その後返されたものなど)。実行
gc()
を実行しても、決して変数を失うことはありません。
を呼び出すべきかどうかという問題は
gc()
を呼んだ後に
rm()
は良いものですが。その
ドキュメント
には、gc の有用な注記があります。
gc を呼び出すと、ガベージコレクションが行われます。これもユーザーの介入なしに自動的に行われます。gcを呼び出す主な目的は、メモリ使用量のレポートのためです。
しかし、大きなオブジェクトが削除された後に gc を呼び出すと、R がオペレーティングシステムにメモリを返すように促すことができるため、有用である場合があります。
ということで、答えは
gc()
(を呼び出すのは良いことであり、少なくとも損はしない、ということです。
関連
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] JavaScriptでオブジェクトを削除する
-
[解決済み] System.gc()を呼び出すのはなぜ悪い習慣なのですか?
-
[解決済み】なぜC++プログラマは'new'の使用を最小限に抑えなければならないのでしょうか?
-
[解決済み】エラー:Rで関数が見つかりませんでした。
-
[解決済み] C++のスタック、スタティック、ヒープ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
R言語です。「接続を開くことができません」解決策
-
Rでエラー:単項演算子への引数が無効
-
R言語ダウンロード機能 download.fileとダウンロード解析
-
[解決済み] Rの二乗偏差の総和の算出
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み】ggplot2で軸のタイトルやラベルの大きさを変更する。
-
[解決済み】安定したマッピングを持つggplot2のカテゴリ変数に色を割り当てるには?