Microsoft's .NET 11 Reaches Release Candidate Before Nov. 10 Launch
Software / news
Microsoft's .NET 11 Reaches Release Candidate Before Nov. 10 Launch
The team's own before-and-after tables show one allocation dropping from 13.874 to 2.674 nanoseconds, numbers an independent benchmark blogger measured differently on his own machine.

Microsoft's .NET 11 reached release candidate status on Sept. 8, carrying what the .NET team calls a go-live license, meaning teams can run it in production before the final release, according to the .NET team's RC1 announcement. The general release is set for Nov. 10, the start of a two-year support window that runs to Nov. 9, 2028, according to the dotnet/core release notes on GitHub.
That leaves roughly nine weeks between a production-licensed candidate and the actual release date. In that window, C# 15 and F# 11 become the default language versions, stabilizing union types, closed class hierarchies, and labeled break and continue without a preview flag, according to InfoQ's report on RC1.
What Toub's own tables actually show
Distinguished Engineer Stephen Toub published a companion performance post the same week, continuing an annual benchmark-by-benchmark writeup he has produced since .NET Core 2.0. The headline change is runtime async, which moves the work of transforming an async method out of the C# compiler and into the runtime itself.
Toub's own BenchmarkDotNet tables show a method resuming after suspension running 46% faster, from 254.139 nanoseconds to 116.927 nanoseconds, with 68% less memory allocated. An exception thrown through 30 layers of async frames drops to 21% of its old cost, from 51.302 microseconds to 10.721 microseconds. None of it is free for application code, though: runtime async ships on by default only inside the shared framework, and a project has to opt in with the line <Features>runtime-async=on</Features> to get it in its own methods, a detail easy to miss reading the headline numbers alone.
| Change | .NET 10 | .NET 11 RC1 |
|---|---|---|
| Enumerator allocation in a collection expression | 13.874 ns | 2.674 ns |
| Async resume after suspension | 254.139 ns | 116.927 ns |
| Delegate size (64-bit CoreCLR) | 64 bytes | 56 bytes |
- .NET 1013.87 ns
- .NET 11 RC12.67 ns
Source: Microsoft .NET Blog, 'Performance Improvements in .NET 11,' accessed 2026-09-16
Why an outside blogger got different numbers
.NET blogger Steven Giesel ran his own comparison the same week and reported a different set of wins on his own machine: Enum.Equals roughly seven times faster, from 8.39 nanoseconds to 1.21 nanoseconds, and DateTime.Now about 50% faster, from 34.54 nanoseconds to 17.93 nanoseconds, after time-zone caching changes, according to his writeup. Giesel measured on an Apple M2 Pro rather than the hardware Toub used, and warns upfront that "mileage may vary" against a reader's own setup, a caveat Microsoft's post does not carry.
The two sets of numbers do not conflict, they simply do not overlap. Giesel benchmarked LINQ's Min and Max, GUID parsing, and delegate equality, none of which Toub's post covers in the same depth, which is itself a sign that .NET 11's performance work is broader than either single writeup captures.
What is still unconfirmed
Neither post says whether the gains hold up inside a running ASP.NET Core application under load rather than in an isolated BenchmarkDotNet loop. That distinction matters more for .NET, which ships once a year, than for a browser like Chrome, which now cuts a release every two weeks and can course-correct fast if a change misbehaves. Teams that also rely on native tooling rewritten in newer system languages, the same trend behind Ubuntu's move to Rust coreutils, have nine weeks under a go-live license to find out before .NET 11 becomes what production runs on by default on Nov. 10.
Sources
More in Software
- 01Polyend Publishes Tracker Firmware Source Under a Noncommercial Licence, With Two Binary Libraries Left OutThe tracker-ce repository covers the original Tracker, Tracker+ and Tracker Mini, but the synth and DSP libraries ship precompiled under a separate proprietary licence.
- 02Claude-Mem's Installer Uploaded 30 Days of Prompts to cmem.ai Before Asking; v15.8.3 Adds a Consent PanelThe fix shipped on Nov. 2, but the release notes say prompts already uploaded by earlier versions are not removed, and the GitHub issue was reopened the same day.
- 03Vercel Labs' Agent-Desktop 1.0 Ships With a macOS Bug That Types Into the Frontmost AppThe Rust tool lets an AI agent drive desktop apps through the accessibility tree, and 48 open issues sit against it three days after the 1.0.2 release.
- 04T3 Code Reaches 38.1k Stars in Alpha, and Its Remote Access Docs Say to Treat Pairing Links as PasswordsThe MIT-licensed control surface for Claude Code, Codex and other agents has nearly doubled its star count since August 27. Its own documentation lists what stays risky.