Перечисление 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