#623 – August 30, 2026
Runtime Async is a new asynchronous execution model arriving in .NET 11.
How fast is .NET 11 Runtime Async?
11 minutes by Kai Sawano
Runtime Async is a new asynchronous execution model arriving in .NET 11. Instead of having the C# compiler eagerly turn every async method into a state machine, it preserves the original asynchronous control flow until runtime, where the JIT can process and optimize it directly.
Cut AI Coding Token Costs by up to 36% with Sonar Vortex
sponsored by Sonar
Sonar Vortex operates inside your AI coding agent’s inner reasoning loop, supplying deep architectural context before code is written, then verifying the output in real time. In testing, software defects dropped by 92% and token consumption decreased. Build safer code while spending less on LLM calls.
Garbage collection fundamentals in .NET
11 minutes by Abdul Rahman
.NET developers never manually free memory. The runtime's Garbage Collector handles it automatically by tracking which objects are still in use and reclaiming the rest. It does this through three steps: marking live objects, sweeping dead ones, and compacting survivors to close memory gaps. Knowing how the stack, heap, and GC work together helps you write code that uses less memory and puts less pressure on the runtime.
Eventual consistency explained
7 minutes by Irina Scurtu
Distributed systems often show stale data briefly after an update. This is not a bug but a deliberate trade-off called eventual consistency, where systems prioritize staying available over guaranteeing every node agrees instantly. DNS, CDNs, and read replicas all work this way already. The real risk is not choosing this trade-off, but failing to design for it and discovering the gap when users notice their data has vanished.
What's new with CoreCLR GC handles
14 minutes by Austin Wise
.NET 9 and 10 brought major updates to GC handles in CoreCLR. Four new generic handle types were added as public APIs, offering better type safety, cleaner code, and a modest performance boost over the old GCHandle struct. Two new internal handle types were also introduced. Weak interior pointer handles track object locations across GC moves, while cross-reference handles solve a tricky problem of coordinating object lifetimes between the .NET and Java garbage collectors when running MAUI apps on Android.
Finding the total number of processors on a machine with .NET
11 minutes by Andrew Lock
Modern .NET has no built-in way to get the total CPU count of a host machine. Environment.ProcessorCount returns processor count available to the process, not the host total. The only solution is to call native system APIs on Windows and macOS, and read a system file on Linux. Each platform needs its own code, then a shared helper ties them together based on the current OS.
And the most popular article from the last issue was: