「世代別ガベージコレクション」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(Administrator がページ「世代別GC」を「世代別ガベージコレクション」に移動しました)
 
(同じ利用者による、間の2版が非表示)
12行目: 12行目:
 
|速い
 
|速い
 
|-
 
|-
|メモリ断片化(後のメモリ確保処理の速度)
+
|メモリ断片化(後のメモリ確保の処理速度)
 
|解消(速い)
 
|解消(速い)
 
|発生(遅い)
 
|発生(遅い)
18行目: 18行目:
 
そこでメモリ領域を「世代」に分けて、適している方を使うというものである。
 
そこでメモリ領域を「世代」に分けて、適している方を使うというものである。
  
よくある実装は、メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。また「一定以上のメモリ確保」の場合は最初かららマーク&スイープ方式の領域に確保される。
+
よくある実装は、メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。また「一定サイズ以上のメモリ確保」の場合は最初からマーク&スイープ方式の領域に確保される。
  
 
== 関連項目 ==
 
== 関連項目 ==

2021年10月28日 (木) 02:40時点における最新版

世代別GC英語:generational garbage collection)とは、メモリ領域を複数の「世代」にわけて、それぞれ異なるガベージコレクションアルゴリズムを使用する方式である。

ほとんどは「コピーGCマーク&スイープのハイブリッド」である。このふたつは一長一短である。

コピー マーク&スイープ
ガベージコレクション自体の処理速度 遅い 速い
メモリ断片化(後のメモリ確保の処理速度) 解消(速い) 発生(遅い)

そこでメモリ領域を「世代」に分けて、適している方を使うというものである。

よくある実装は、メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。また「一定サイズ以上のメモリ確保」の場合は最初からマーク&スイープ方式の領域に確保される。

関連項目[編集 | ソースを編集]