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 以降で使用可能

関連項目