Garbage Collection Performance

The .Net Framework features an aggressive, generational and compacting Garbage Collector (GC): aggressive because it knows the location and reachability of every managed object, generational because it distinguishes long-lived objects objects from temporary ones, and compacting because it moves data in memory to avoid leaving holes behind. The GC is a great tool in the .Net arsenal, not only because it increases productivity but also because it provides extremely fast memory allocations (compared to standard C/C++ malloc/new).

[Describe the unmanaged resource pool, pinning and performance considerations]