
How Async/Await Really Works in C#
Async/await was added to the C# language over a decade ago and has transformed how we write scalable code for .NET. But how does it really work? In this post, we take a deep dive into its internals.
Async/await was added to the C# language over a decade ago and has transformed how we write scalable code for .NET. But how does it really work? In this post, we take a deep dive into its internals.
.NET 7 is fast. Really fast. In this post, we'll deep-dive into literally hundreds of performance improvements that contributed to that reality.
System.Text.RegularExpressions has improved significantly in .NET 7. In this post, we'll deep-dive into many of its exciting improvements.
.NET 6 is chock-full of exciting performance improvements.
Text processing is at the heart of huge numbers of apps and services, and in .NET, that means lots and lots of System.String. String creation is so fundamental that a myriad of ways of creating them have existed since .NET Framework 1.0 was released, and more have joined the fray since. Whether via String's constructors, or StringBuilder, or ...
Explore many performance improvements, big and small, that have gone into the .NET 5 runtime and core libraries to make apps and services leaner and faster.
The async/await feature in C# has revolutionized how developers targeting .NET write asynchronous code. Sprinkle some async and await around, change some return types to be tasks, and badda bing badda boom, you've got an asynchronous implementation. In theory. In practice, obviously I've exaggerated the ease with which a codebase can be made ...
For .NET 5, we’ve invested in some significant improvements to the Regex engine. On many of the expressions we’ve tried, these changes routinely result in throughput improvements of 3-6x, and in some cases, much more. In this post, I’ll walk through some of the myriad of changes that have gone into System.Text.RegularExpressions in .NET 5.
.NET added async/await to the languages and libraries over seven years ago. In that time, it's caught on like wildfire, not only across the .NET ecosystem, but also being replicated in a myriad of other languages and frameworks. It's also seen a ton of improvements in .NET, in terms of additional language constructs that utilize asynchrony, ...
"Producer/consumer" problems are everywhere, in all facets of our lives. A line cook at a fast food restaurant, slicing tomatoes that are handed off to another cook to assemble a burger, which is handed off to a register worker to fulfill your order, which you happily gobble down. Postal drivers delivering mail all along their routes, and you ...