Sdílet prostřednictvím


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

Viz také