ルーグの備忘録

主にC#についてまとめてます。

ガベージコレクションとは

ガベージコレクションとは

e-words.jp

ガベージコレクションとは、コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。そのような処理を実行するプログラムを「ガベージコレクタ」(garbage collector)という。

よくGCと略されて呼ばれる。
ちなみにGCで断片化したメモリを整理するコンパクションという処理もあるが、これは厳密にはGCとは区別される。

GCの種類

GCやコンパクションといったメモリに関わる処理はとても重いので、できる限り避けた方がいい。
UnityのGCはBoehm GCという名前で、これはGCが走るとそれ以外の処理を全て止めてしまうStop the World方式となっている。
またBoehm GCではコンパクションは行わない。

具体的にどうすればよいのか

以下の記事が分かりやすい。
light11.hatenadiary.com

また、以前にクロージャは良くないということは書いたが、これはGCを防ぐためである。
lougestudy.hatenablog.jp