Enumerazione COR_PRF_GC_GENERATION
Identifica una generazione di Garbage Collection.
Sintassi
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;
Members
Membro | Descrizione |
---|---|
COR_PRF_GC_GEN_0 |
L'oggetto viene archiviato come generazione 0. |
COR_PRF_GC_GEN_1 |
L'oggetto viene archiviato come generazione 1. |
COR_PRF_GC_GEN_2 |
L'oggetto viene archiviato come generazione 2. |
COR_PRF_GC_LARGE_OBJECT_HEAP |
L'oggetto viene archiviato nell'heap a oggetti di grandi dimensioni. |
COR_PRF_GC_PINNED_OBJECT_HEAP |
L'oggetto viene archiviato nell'heap dell'oggetto aggiunto. |
Commenti
Garbage Collector migliora le prestazioni di gestione della memoria suddividendo gli oggetti in generazioni in base all'età. Il Garbage Collector usa attualmente tre generazioni, numerati 0, 1 e 2 e due segmenti heap speciali, uno per oggetti di grandi dimensioni e uno per gli oggetti aggiunti.
Gli oggetti le cui dimensioni sono maggiori di un valore soglia vengono archiviate nell'heap di grandi dimensioni. Gli oggetti aggiunti possono essere allocati all'heap dell'oggetto aggiunto per evitare il costo delle prestazioni dell'allocazione sugli heaps normali. Altri oggetti allocati iniziano a appartenere alla generazione 0. Tutti gli oggetti esistenti dopo che la Garbage Collection si verifica nella generazione 0 vengono promossi alla generazione 1. Gli oggetti esistenti dopo che la Garbage Collection si verifica nella generazione 1 passano alla generazione 2.
L'uso di generazioni significa che il Garbage Collector deve lavorare solo con un subset degli oggetti allocati in qualsiasi momento.
L'enumerazione COR_PRF_GC_GENERATION
viene usata dalla struttura COR_PRF_GC_GENERATION_RANGE .
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: Disponibile da 2.0