dotnext DotNext 2014 СПб (04.04.2014 — 04.04.2014)

Менеджмент памяти и внутренние механизмы CLR

img

Доклад про GC, структуры CLR, реальное устройство объектов в памяти, вычленение структур MethodTable/EEClass, ручное создание .NET-объектов в unmanaged памяти, ручной, безрефлексийный путь вызова ctor объекта (прирост скорости вызова примерно в 25 раз), написание пула объектов в unmanaged памяти.

Ответы на вопросы про sizeof(RefType), устройство SmallObjectsHeap, написание итератора по объектам SOH. Память CLR: смотрим на Ephemeral Segments, Virtual Pages, находим их и идентифицируем SOH/LOH. Расширяем итератор на SOH, занимающий несколько Ephemeral Segments.