2

私はコンピュータ エンジニアではありませんが、生物学にルーツがあるため、私の無知を許してください。私はオブジェクトの事前割り当ての大ファンになり (Patrick Burns による SO と R inferno に敬意を表します)、コーディングの習慣を改善したいと考えています。この事実の代わりに、より効率的な関数を書くことを考えていて、次の質問があります。

次のループの開始時に上書きされる変数を削除する利点はありますか、それとも時間の無駄ですか? 議論のために、古い変数と新しい変数のサイズが非常に似ているか同じであると仮定しましょう。

4

2 に答える 2

3

案件の内容によって大きく変わると思います。場合によっては、オブジェクトが大きいときに rm() を実行することをお勧めします。特にオブジェクトが必要なく、上書きされる前に他にやるべきことがたくさんある場合はなおさらです。しかし、繰り返しになりますが、戦略が計算時間の点でコストがかかる可能性があるという状況を想像することは不可能ではありません。

本当に価値があるかどうかを知る唯一の方法は、両方の方法を試して system.time() で確認することです。

于 2010-05-18T10:08:44.047 に答える
1

いいえ。自動ガベージ コレクションがこれを問題なく処理します。

于 2010-05-18T13:51:24.590 に答える