「世代別ガベージコレクション」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) 細 (Administrator がページ「世代別GC」を「世代別ガベージコレクション」に移動しました) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の2版が非表示) | |||
12行目: | 12行目: | ||
|速い | |速い | ||
|- | |- | ||
− | | | + | |メモリ断片化(後のメモリ確保の処理速度) |
|解消(速い) | |解消(速い) | ||
|発生(遅い) | |発生(遅い) | ||
18行目: | 18行目: | ||
そこでメモリ領域を「世代」に分けて、適している方を使うというものである。 | そこでメモリ領域を「世代」に分けて、適している方を使うというものである。 | ||
− | + | よくある実装は、メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。また「一定サイズ以上のメモリ確保」の場合は最初からマーク&スイープ方式の領域に確保される。 | |
== 関連項目 == | == 関連項目 == |
2021年10月28日 (木) 02:40時点における最新版
世代別GC(英語:generational garbage collection)とは、メモリ領域を複数の「世代」にわけて、それぞれ異なるガベージコレクションのアルゴリズムを使用する方式である。
ほとんどは「コピーGCとマーク&スイープのハイブリッド」である。このふたつは一長一短である。
コピー | マーク&スイープ | |
---|---|---|
ガベージコレクション自体の処理速度 | 遅い | 速い |
メモリ断片化(後のメモリ確保の処理速度) | 解消(速い) | 発生(遅い) |
そこでメモリ領域を「世代」に分けて、適している方を使うというものである。
よくある実装は、メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。また「一定サイズ以上のメモリ確保」の場合は最初からマーク&スイープ方式の領域に確保される。