In this Twitch stream, we explore the topic of async/await in .NET, discuss how it works under the hood, and look at common pitfalls and performance considerations.
In this talk, I'll explore the tension between established design patterns and modern performance considerations in .NET development and explore how my growing knowledge about .NET internals has shaped the design of my software.
In this talk, I'll explore the tension between established design patterns and modern performance considerations in .NET development and explore how my growing knowledge about .NET internals has shaped the design of my software.
In this talk, I'll explore the tension between established design patterns and modern performance considerations in .NET development and explore how my growing knowledge about .NET internals has shaped the design of my software.
In this talk, we explore the internals of async/await from a memory perspective, examining how the compiler transforms async methods into state machines and how this state machine behaves during execution from a memory management point of view.
At this meetup, we explore both performance optimization techniques with BenchmarkDotNet and dive deep into the .NET Garbage Collector to understand how memory management affects application performance.
In this talk, we explore the fundamentals of performance optimization in .NET, using my library Light.GuardClauses as an example to demonstrate practical techniques for measuring and improving code performance. We use BenchmarkDotNet to showcase and compare performance characteristics of different approaches.
In this talk, we explore the internals of the .NET Garbage Collector, examining how it allocates and deallocates memory, how it executes its collection runs, and how it structures memory into the Small Object Heap with generations and the Large Object Heap.
In this talk, we explore the internals of the .NET Garbage Collector, examining how it allocates and deallocates memory, how it executes its collection runs, and how it structures memory into the Small Object Heap with generations and the Large Object Heap.