Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Dive into an in-depth exploration of .NET garbage collector performance optimization in this comprehensive conference talk. Learn to methodically measure and enhance GC performance, starting with a quick refresher on dynamic performance tools like CLR performance counters, ETW GC events, and ETW object allocation events, as well as static analysis tools such as the Roslyn-based heap allocations analyzer. Examine multiple issues at the source code level, including excessive boxing, unintended effects of lambdas closing over local variables, await-generated state machines, and intermediate objects in LINQ queries. Discover strategies to address higher-level memory problems, such as eliminating large object allocations, avoiding finalization, and converting heap-based designs to local objects. Gain insights into how these concepts are being applied at the language and framework level in C# 7 and .NET Core. By the end of this talk, acquire the knowledge to significantly reduce memory traffic and GC overhead in your applications, potentially improving performance by a factor of 10 or more.