ArrayPool<T> and Memory Pooling in .NET
Use ArrayPool<T> and MemoryPool<T> to rent and return buffers, drastically cutting array allocations in high-throughput code.
Query Splitting: Taming the Cartesian Explosion in EF Core
How EF Core's split queries prevent cartesian explosion when loading multiple related collections, and when to use them.
Object Pooling with ObjectPool<T> in .NET
Reduce GC pressure and allocation overhead by reusing objects with Microsoft.Extensions.ObjectPool.
Change Tracking Deep Dive: How EF Core Knows What Changed
A deep dive into EF Core's change tracker, exploring how it detects modifications, the role of entity states, and strategies for optimising performance.
Response Compression Middleware in ASP.NET Core
Reduce bandwidth and improve load times by enabling response compression with Brotli and Gzip in ASP.NET Core.
Output Caching in ASP.NET Core
Use ASP.NET Core's output caching middleware to cache entire responses and dramatically reduce server load.
Inline Arrays: Fixed-Size Buffers Without Unsafe Code
C# 12 inline arrays embed fixed-size buffers directly in structs, enabling stack-allocated collections without unsafe blocks.
Ref Readonly Parameters: Passing by Reference Without the Pitfalls
C# 12's ref readonly parameters offer a safe middle ground between in parameters and ref parameters for high-performance code.
Request Pipeline Short-Circuiting in ASP.NET Core
Learn how to short-circuit the ASP.NET Core request pipeline to return early responses and improve performance.
UTF-8 String Literals: Zero-Allocation Text for High-Performance Code
C# 11's UTF-8 string literals let you work with byte-based text representations without runtime encoding costs.
Ref Structs in C#: Stack-Only Types for High Performance
Understanding ref structs, the stack-only value types that power Span<T> and enable zero-allocation programming in C#.
String Interpolation and Performance in C#
How C# string interpolation works under the hood, and how the compiler optimises interpolated strings into high-performance code.
Value Types vs Reference Types in C#
Understanding the fundamental difference between stack-allocated value types and heap-allocated reference types, and how it affects your code's behaviour and performance.