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