Compartilhar via


Enumeração COR_PRF_GC_GENERATION

Identifica uma geração de coleta de lixo.

Sintaxe

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;  

Membros

Membro DESCRIÇÃO
COR_PRF_GC_GEN_0 O objeto é armazenado como geração 0.
COR_PRF_GC_GEN_1 O objeto é armazenado como geração 1.
COR_PRF_GC_GEN_2 O objeto é armazenado como geração 2.
COR_PRF_GC_LARGE_OBJECT_HEAP O objeto é armazenado no heap de objetos grandes.
COR_PRF_GC_PINNED_OBJECT_HEAP O objeto é armazenado no heap de objetos grandes.

Comentários

O coletor de lixo melhora o desempenho do gerenciamento de memória dividindo objetos em gerações com base na idade. O coletor de lixo atualmente usa três gerações, numeradas 0, 1 e 2, e dois segmentos de heap especiais, um para objetos grandes e outro para objetos fixados.

Objetos cujo tamanho é maior que um valor limite são armazenados no heap de objetos grandes. Os objetos fixados podem ser alocados ao heap do objeto fixado para evitar o custo de desempenho de alocá-los nos heaps normais. Outros objetos alocados começam pertencentes à geração 0. Todos os objetos que existem após a coleta de lixo ocorrer na geração 0 são promovidos para a geração 1. Objetos que existem após a coleta de lixo ocorrer na geração 1 são movidos para a geração 2.

O uso de gerações significa que o coletor de lixo precisa trabalhar apenas com um subconjunto dos objetos alocados a qualquer momento.

A COR_PRF_GC_GENERATIONenumeração é usada pela estrutura COR_PRF_GC_GENERATION_RANGE.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 2.0

Confira também