C# Language Compattazione del mucchio di oggetti di grandi dimensioni


Esempio

Di default il Large Object Heap non è compattato a differenza del classico Object Heap che può portare alla frammentazione della memoria e, inoltre, può portare a OutOfMemoryException s

A partire da .NET 4.5.1 esiste un'opzione per comprimere esplicitamente l'heap di oggetti di grandi dimensioni (insieme a una garbage collection):

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();   

Proprio come qualsiasi richiesta di garbage collection esplicita (si chiama richiesta perché CLR non è obbligato a condurla) usa con cautela e, per impostazione predefinita, evitala se puoi perché può GC statistiche di GC , diminuendo le sue prestazioni.