COR_PRF_GC_GENERATION 列挙型
ガベージ コレクションの世代を識別します。
構文
typedef enum {
COR_PRF_GC_GEN_0 = 0,
COR_PRF_GC_GEN_1 = 1,
COR_PRF_GC_GEN_2 = 2,
COR_PRF_GC_LARGE_OBJECT_HEAP = 3,
COR_PRF_GC_PINNED_OBJECT_HEAP= 4
} COR_PRF_GC_GENERATION;
メンバー
メンバー | 説明 |
---|---|
COR_PRF_GC_GEN_0 |
オブジェクトは世代 0 として保存されます。 |
COR_PRF_GC_GEN_1 |
オブジェクトは世代 1 として保存されます。 |
COR_PRF_GC_GEN_2 |
オブジェクトは世代 2 として保存されます。 |
COR_PRF_GC_LARGE_OBJECT_HEAP |
オブジェクトはラージオブジェクト ヒープに格納されます。 |
COR_PRF_GC_PINNED_OBJECT_HEAP |
オブジェクトは固定されたオブジェクト ヒープに格納されます。 |
解説
ガベージ コレクターでは、オブジェクトを経過期間に基づいて世代に分割することによって、メモリ管理のパフォーマンスが向上します。 ガベージ コレクターでは現在、0、1、2 という番号が付けられた 3 つの世代と、1 つはラージオブジェクト用でもう 1 つは固定されたオブジェクト用となる 2 つの特別ヒープ セグメントが使用されています。
サイズがしきい値を超えるオブジェクトは、ラージオブジェクト ヒープに格納されます。 固定されたオブジェクトは、通常のヒープでオブジェクトを割り当てることのパフォーマンス コストを避けるため、固定されたオブジェクト ヒープに割り当てることができます。 割り当てられるその他のオブジェクトはまず、世代 0 に属します。 ガベージ コレクションが世代 0 で行われた後に現れたオブジェクトはすべて、世代 1 に進みます。 ガベージ コレクションが世代 1 で行われた後に現れたオブジェクトはすべて、世代 2 に進みます。
世代を利用することで、ガベージ コレクターが一度に処理する量は、割り当てられるオブジェクトのサブセットに限られます。
COR_PRF_GC_GENERATION
列挙型は COR_PRF_GC_GENERATION_RANGE 構造体で使用されます。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET