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_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 |
オブジェクトはラージ オブジェクト ヒープに格納されています。 |
解説
ガベージ コレクターを使用すると、オブジェクトが世代に基づいてジェネレーションに分割されるため、メモリ管理のパフォーマンスが向上します。 ガベージ コレクターは現在、番号 0、1、および 2 の 3 つのジェネレーションに加え、大きなオブジェクト用の特殊なヒープ セグメントを使用します。 サイズが特定の値を超える大きなオブジェクトは、ラージ オブジェクト ヒープに格納されます。 割り当てられるその他のオブジェクトは、最初はジェネレーション 0 に格納されます。 ガベージ コレクションが開始された後にジェネレーション 0 に存在するオブジェクトはすべて、ジェネレーション 1 に移動されます。 ガベージ コレクションが開始された後にジェネレーション 1 に存在するオブジェクトは、ジェネレーション 2 に移動されます。
ジェネレーションを使用する理由は、ガベージ コレクターが一度に処理できるのが、割り当てられたオブジェクトの 1 つのサブセットのみであるためです。
COR_PRF_GC_GENERATION 列挙体は、COR_PRF_GC_GENERATION_RANGE 構造体によって使用されます。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0