COR_PRF_GC_GENERATION – výčet
Identifikuje generaci uvolňování paměti.
Syntax
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;
Členové
Člen | Description |
---|---|
COR_PRF_GC_GEN_0 |
Objekt je uložen jako generace 0. |
COR_PRF_GC_GEN_1 |
Objekt je uložen jako generace 1. |
COR_PRF_GC_GEN_2 |
Objekt je uložen jako generace 2. |
COR_PRF_GC_LARGE_OBJECT_HEAP |
Objekt je uložen v haldě s velkými objekty. |
COR_PRF_GC_PINNED_OBJECT_HEAP |
Objekt je uložen v haldě připnutého objektu. |
Poznámky
Systém uvolňování paměti zlepšuje výkon správy paměti tím, že rozděluje objekty do generací na základě věku. Systém uvolňování paměti v současné době používá tři generace, číslování 0, 1 a 2, a dva speciální segmenty haldy, jeden pro velké objekty a jeden pro připnuté objekty.
Objekty, jejichž velikost je větší než prahová hodnota, jsou uloženy v haldě s velkými objekty. Připnuté objekty je možné přidělit haldě připnutého objektu, aby se zabránilo nákladům na výkon jejich přidělení na normální haldy. Ostatní přidělené objekty začínají patřit do generace 0. Všechny objekty, které existují po uvolnění paměti v generaci 0, jsou povýšeny na generaci 1. Objekty, které existují po uvolnění paměti v generaci 1, se přesunou do generace 2.
Použití generací znamená, že systém uvolňování paměti musí v jednom okamžiku pracovat pouze s podmnožinou přidělených objektů.
Výčet COR_PRF_GC_GENERATION
používá struktura COR_PRF_GC_GENERATION_RANGE .
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 2.0