Stephen Toub - MSFT

Partner Software Engineer, .NET

Stephen Toub is a developer on the .NET team at Microsoft.

Post by this author

Performance Improvements in .NET 8

.NET 7 was super fast, .NET 8 is faster. Take an in-depth tour through over 500 pull requests that make that a reality.

Demystifying Retrieval Augmented Generation with .NET

Build a chat-based console app with Retrieval Augmented Generation (RAG) from scratch.

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.

Performance Improvements in .NET 7

.NET 7 is fast. Really fast. In this post, we'll deep-dive into literally hundreds of performance improvements that contributed to that reality.

Regular Expression Improvements in .NET 7

System.Text.RegularExpressions has improved significantly in .NET 7. In this post, we'll deep-dive into many of its exciting improvements.

Performance Improvements in .NET 6

.NET 6 is chock-full of exciting performance improvements.

String Interpolation in C# 10 and .NET 6

Text processing is at the heart of huge numbers of apps and services, and in .NET, that means lots and lots of . 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 's constructors, or , or overrides, or helper methods on like...

Performance Improvements in .NET 5

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.

Regex Performance Improvements in .NET 5

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.

Async ValueTask Pooling in .NET 5

The async/await feature in C# has revolutionized how developers targeting .NET write asynchronous code. Sprinkle some and 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 fully ...