Partager via


COR_PRF_GC_GENERATION, énumération

Identifie une génération de nettoyage de la mémoire.

Syntaxe

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;  

Membres

Membre Description
COR_PRF_GC_GEN_0 L’objet est stocké en tant que génération 0.
COR_PRF_GC_GEN_1 L’objet est stocké en tant que génération 1.
COR_PRF_GC_GEN_2 L’objet est stocké en tant que génération 2.
COR_PRF_GC_LARGE_OBJECT_HEAP L’objet est stocké dans le tas des objets volumineux.
COR_PRF_GC_PINNED_OBJECT_HEAP L’objet est stocké dans le tas des objets épinglés.

Notes

Le récupérateur de mémoire améliore les performances de gestion de la mémoire en divisant les objets en générations en fonction de l’âge. Le récupérateur de mémoire utilise actuellement trois générations, numérotées 0, 1 et 2, et deux segments de tas spéciaux, l’un pour les objets volumineux et l’autre pour les objets épinglés.

Les objets dont la taille est supérieure à une valeur de seuil sont stockés dans le tas des objets volumineux. Les objets épinglés peuvent être alloués au tas des objets épinglés afin d’éviter le coût en termes de performances lié à leur allocation aux tas normaux. D’autres objets alloués commencent par appartenir à la génération 0. Tous les objets subsistant après nettoyage de la mémoire dans la génération 0 sont promus vers la génération 1. Les objets subsistant après nettoyage de la mémoire dans la génération 1 sont déplacés vers la génération 2.

L’utilisation de générations signifie que le récupérateur de mémoire doit toujours fonctionner uniquement avec un sous-ensemble des objets alloués.

L’énumération COR_PRF_GC_GENERATION est utilisée par la structure COR_PRF_GC_GENERATION_RANGE.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi