「コピーGC」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (ページの作成:「'''コピーGC'''(英語:Copy Garbage Collection)とは、ガベージコレクションのアルゴリズムのひとつで、[[マーク&スイープ]…」) |
Administrator (トーク | 投稿記録) |
||
10行目: | 10行目: | ||
一方で、コピー方式は「[[メモリ]]の[[デフラグ]]」も同時に行われるので、 | 一方で、コピー方式は「[[メモリ]]の[[デフラグ]]」も同時に行われるので、 | ||
その後のメモリ確保の高速化が期待できる。 | その後のメモリ確保の高速化が期待できる。 | ||
+ | |||
+ | どちらも一長一短なので最近ではハイブリッド型の「[[世代別ガベージコレクション]]」が人気である。 | ||
== 関連項目 == | == 関連項目 == |
2021年10月28日 (木) 02:38時点における最新版
コピーGC(英語:Copy Garbage Collection)とは、ガベージコレクションのアルゴリズムのひとつで、マーク&スイープから派生したものである。
概要[編集 | ソースを編集]
マーク&スイープ方式では「ルートからメモリをたどり到達できなかったものを削除」するというものだが、コピー方式では「ルートからメモリをたどり到達できたものを別領域にコピー」するというもの。
ガベージコレクションの処理自体はマーク&スイープ方式の方が「メモリのコピー処理」を 伴わない分だけ高速であるが、メモリに強烈なフラグメンテーションを引き起こすため、 その後のメモリ確保の際に「指定されたサイズの連続した空き領域」を探すのに時間がかかる。
一方で、コピー方式は「メモリのデフラグ」も同時に行われるので、 その後のメモリ確保の高速化が期待できる。
どちらも一長一短なので最近ではハイブリッド型の「世代別ガベージコレクション」が人気である。