Поделиться через


Перечисление COR_PRF_GC_GENERATION

Определяет поколение сборки мусора.

Синтаксис

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;  

Элементы

Член Описание
COR_PRF_GC_GEN_0 Объект хранится в поколении 0.
COR_PRF_GC_GEN_1 Объект хранится в поколении 1.
COR_PRF_GC_GEN_2 Объект хранится в поколении 2.
COR_PRF_GC_LARGE_OBJECT_HEAP Объект хранится в куче больших объектов.
COR_PRF_GC_PINNED_OBJECT_HEAP Объект хранится в куче закрепленных объектов.

Комментарии

Сборщик мусора повышает производительность управления памятью, разделяя объекты на поколения в зависимости от возраста. В настоящее время сборщик мусора использует три поколения с нумеровкой 0, 1 и 2, а также два специальных сегмента кучи: один для крупных объектов и один для закрепленных объектов.

Объекты, размер которых превышает пороговое значение, хранятся в куче больших объектов. Закрепленные объекты можно выделить в кучу закрепленных объектов, чтобы избежать затрат на производительность, связанных с их выделением в обычных кучах. Другие выделенные объекты начинают принадлежать поколению 0. Все объекты, существующие после сборки мусора в поколении 0, повышаются до поколения 1. Объекты, существующие после сборки мусора в поколении 1, перемещаются в поколение 2.

Использование поколений означает, что сборщик мусора должен одновременно работать только с подмножеством выделенных объектов.

Перечисление COR_PRF_GC_GENERATION используется структурой COR_PRF_GC_GENERATION_RANGE .

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел