.NET Blog
devblogs.microsoft.com/dotnet · Company blog · on HN since 2019
Microsoft's official .NET blog, with release announcements, language features, and yearly deep dives into runtime performance improvements.
What HN saysCommenters enjoy the detailed per-release performance write-ups and cite Maoni Stephens's garbage collector work, with one reporting 2-10x benchmark gains moving off .NET Framework.
390HN people shared it
230linked it in comments
554stories submitted
9.7Kstory points
3 months agolast shared
2019people per year2026
Most-shared posts
- 1Performance Improvements in .NET 517 people · 86 points · first shared 2020 · 4 comments on HN
- 2Run a C# file directly using dotnet run app.cs14 people · 391 points · first shared 2025 · 326 comments on HN
- 3Performance Improvements in .NET 613 people · 386 points · first shared 2021 · 252 comments on HN
- 4Introducing MAUI, the .NET Multi-Platform App UI13 people · 52 points · first shared 2020 · 9 comments on HN
- 5Hardware Intrinsics in .NET Core11 people · 32 points · first shared 2019 · 2 comments on HN
- 6C# Source Generators11 people · 27 points · first shared 2020 · 1 comments on HN
- 7.NET 510 people · 732 points · first shared 2019 · 410 comments on HN
- 8Performance Improvements in .NET 710 people · 224 points · first shared 2022 · 160 comments on HN
- 9Regular Expression Improvements in .NET 710 people · 12 points · first shared 2022 · discussion on HN
- 10Performance Improvements in .Net Core 3.09 people · 36 points · first shared 2019 · 1 comments on HN
- 11Performance Improvements in .NET 89 people · 8 points · first shared 2023 · discussion on HN
- 12F# 5 Preview 18 people · 27 points · first shared 2020 · discussion on HN
- 13The Future of .NET Standard7 people · 5 points · first shared 2020 · 1 comments on HN
- 14Performance Improvements in .NET 106 people · 192 points · first shared 2025 · 92 comments on HN
- 15Performance Improvements in .NET 96 people · 46 points · first shared 2024 · 1 comments on HN
What HN people wrote when they linked it
whb07 · 2025-11-13
Meanwhile, I recently proposed doing the work of updating the runtime versions from .netframework over to even .net5+ to save $millions/quarter.
I ran benchmarks, showing 2-10x+ improvements.
Got told, “lol no, this service is unlike Bing”. For context, Bing has amazing blogs on this*.
This, btw is inside networking for Azure…
Not sure at what point I should stop caring. Could easily improve operating expenses to the tune of hundreds/billions per year if they applied this across Azure.
https://devblogs.microsoft.com/dotnet/bing-com-runs-on-net-core-2-1/
jasonthorsness · 2025-10-16
I love LINQ (the object method syntax not the keyword syntax) and used it extensively in a production application in ~2015-2017. It is easier in many cases to write and read than manual loops.
In performance-critical code at the time it had to be avoided due to allocations and poor performance compared to loop-based implementations.
However, the new versions of .NET have been reducing this penalty [1], to the point where it might make sense to try LINQ first if it's more concise/clear then only rewrite after profiling!
[1] https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
olidb · 2025-09-24
Maoni Stephens is indeed on the .net team and is, as far as I know, the lead architect of the .net garbabe collector for many years: https://github.com/Maoni0 https://devblogs.microsoft.com/dotnet/author/maoni/
Therefore she's probably the person with the most knowledge about the .net GC but maybe not the best writer (I haven't read the article yet).
tekdude · 2025-07-30
Might be worth viewing the full list of changes in the blog post that the article links to:
https://devblogs.microsoft.com/dotnet/dotnet-10-preview-6/
dax_ · 2025-06-12
Microsoft has really been putting a lot of focus on improving it with each release. I love reading through the blog articles for each major release, that outline all the performance improvements that were done: https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
CharlieDigital · 2024-10-31
For that, your best bet is https://devblogs.microsoft.com/dotnet/
neonsunset · 2024-09-15
Currently posted .NET 9 articles talk mostly about platform-wide features and improvements, pretty much all of which equally benefit F#. Probably even more so when it comes to performance - I expect devirtualization and escape analysis improvements to impact F# to a greater extent than C#.
Language-specific articles are usually posted closer to the release date. Example: https://devblogs.microsoft.com/dotnet/announcing-fsharp-8/
spawarotti · 2024-03-21
I am especially excited for the Smart ComboBox:
https://devblogs.microsoft.com/dotnet/introducing-dotnet-smart-compone…
In general, I see the idea of semantic matching instead of textual matching as one of the great, pragmatic applications of the current technology.
Somewhat related fun application of this concept is this: https://neal.fun/infinite-craft/ (the combination outputs are generated by LLMs)
mrcsharp · 2024-02-10
I use .Net & C# for backend development and Vue or Blazor for Frontend. .Net has great tooling that won't get in your way as you work on the project. C# has added lots of great features and is blazing fast nowadays with every .Net release being accompanied by a massive blog post describing all the performance improvements to the runtime[1].
[1] https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
MStrehovsky · 2024-01-04
> Fair enough; perhaps it'd be worthwhile to throw a compiler error if both reflection and trimming were attempted.
The tooling already generates warnings for any spot in the program that uses reflection _in a way that cannot be statically analyzed_. Fixing code to make it work with trimming is equivalent to fixing warnings. Here are a couple case studies: https://devblogs.microsoft.com/dotnet/creating-aot-compatible-librarie…
hu3 · 2023-09-18
Ryujinx uses Microsoft's JIT .NET technology [1] which is best available for C# codebases. Nothing new here since it needs to translate Switch's ARM instructions to x86 machine code somehow.
[1] https://devblogs.microsoft.com/dotnet/the-ryujit-transition-is-complet…
Kipters · 2023-05-31
I think what he's saying is that instead of writing that in platform-specific C++ they could have worked on a Vector API and use that instead to automatically work in other (future) SIMD implementations of the same width.
A poster in another comment mentioned such API is being worked on, and what I described above is exactly how .NET is tackling this: they built a Vector API and are building optimizations like that in C# on top of that API, giving also developers the ability to write SIMD-oriented code in C# rather than resorting to platform-specific C++ and interop/JNI
In my opinion that's a better approach, it's discussed in great detail here https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_…
yyyk · 2023-04-10
That's basically C# top-level programs[0]. IMHO, In C# these are a mixed bag, because once a project becomes more complex a file without a class looks out of place, so it's a feature for beginners/very simple programs. It was controversial enough that VS eventually included an option to create projects without using this...
From the questioning around "needs to import basic utility classes", I'm guessing the feature following this would be something like C# implicit usings?
[0]
https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/#top-level-p…
IIRC C# doesn't have the complex main selection as in here because it relies on csproj files.
mastax · 2022-08-31
There was a (very long) post recently talking about the Regex performance improvements in .NET 7[0]. It's comprehensive and well written and I found it very interesting. I love the new Regex source generator not just because of the performance but because you can step into the C# code and understand pretty well what the regex is doing.
[0]: https://devblogs.microsoft.com/dotnet/regular-expression-improvements-…
dlkmp · 2022-06-17
If you had to start over, would you still recommend to yourself to learn F# in 2022?
I am asking this as someone who has dabbled in functional languages (F#/ Haskell) multiple times over the years but, despite liking the elegance of functional code, never reached a level of productivity that came close to what I am used to from imperative languages. Specifically for C#, given the trend of baking more and more of the cool functional stuff into the language (e.g. [1]), I am wondering whether F# still has enough unique features to justify the effort.
[1] see e.g. https://devblogs.microsoft.com/dotnet/early-peek-at-csharp-11-features…
joe_guy · 2022-06-10
https://devblogs.microsoft.com/dotnet/regular-expression-improvements-…
Stephen has put incredible work into having an alternative implementation in .net 7.
For anyone interested in regex engine inner workings and optimizations, including SIMD, the blog post is fantastic.
peheje · 2022-05-05
Have you had a look at F#?
It has great GC piggybacking on the huge amount of efforts going into dotnet, each release since dotnet core has just gotten faster and faster, not just GC but many parts of the ecosystem, see e.g. https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
Pattern matching is first class. See e.g. https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/patt…
I haven’t programmed with traits, but sounds like interfaces which you can have records implement.
https://gist.github.com/robertpi/2964793
Function signatures are usually not needed due to the type inference algorithm, so while it is statically typed, you often don’t need to write out the types of functions.
loldot_ · 2021-12-23
Allocations are pretty cheap, but GC can be quite expensive under high load/big heap. It is probably not the first optimization you would need to make, but allocaitons have been a huge focus by the .net core team, and is part of the reason why it is so much faster than the .net full framework. See for example the post on improvements in dotnet 5: https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
https://docs.microsoft.com/en-us/aspnet/core/performance/performance-b…
https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/pe…
zip1234 · 2021-12-03
No, both have gotten much faster. This is just one release of performance improvements:
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
It is worth noting that WPF can run on this latest version of .NET
dgellow · 2021-11-27
If you haven’t yet, check out the C#10 blog post, it has details covering all the changes: https://devblogs.microsoft.com/dotnet/welcome-to-csharp-10/.
This version brings quality of life changes that make it simpler and nicer to write readable code, which is great to see IMHO.
yblu · 2021-10-23
Follow-up blog post from .NET Director: https://devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli/
bob1029 · 2021-05-07
I am not familiar with the scope of JFR, but there have been some very recent movements around profiling in C#/.NET:
https://devblogs.microsoft.com/dotnet/introducing-dotnet-monitor/
https://devblogs.microsoft.com/dotnet/whats-new-in-dotnet-monitor/
My experience overall with the C# ecosystem has been fantastic. We started out on .NET Framework 4.x back in 2014-2015, and today are now talking about moving to .NET 6 and rewriting our native apps to use MAUI as November grows closer. A lot of the same code we had back in 2015 is still running today with zero modifications.
sandyarmstrong · 2021-04-09
> The .NET team is planning a series of updates to address this in .NET 6.
This is already bearing fruit in the latest preview: https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-3/#tool…
I also saw this lovely update for Xamarin.Forms users https://twitter.com/drasticactionSA/status/1380262682872442890
m3h · 2021-04-08
.NET Core did quite a bit of work on introducing "hardware intrinsics". They updated their standard libraries to use those intrinsics and let the JIT optimize userland code. .NET Core performance is pretty good, if not the best [1].
I have myself seen 2-3x improvements in older .NET applications migrating to the .NET Core (called just .NET from version 5 onwards). I think JITed code have a unique advantage here that any hardware-specific optimizations are automatically applied by the JIT, with newer versions of JITs bringing even more performance improvements when the ISAs change.
[1]. https://devblogs.microsoft.com/dotnet/hardware-intrinsics-in-net-core/
Edit: Added reference link.
akmittal · 2020-10-08
.Net team is doing a lot of performance improvements recently. It is great to see such big improvements is a mature platform.
Windows did not get much attention in ARM world but with Macs moving to ARM, Windows also have a great oppurtunity.
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
https://devblogs.microsoft.com/dotnet/regex-performance-improvements-i…
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-…
capableweb · 2020-09-22
Huh, reading from https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/ which was the first hit on Google shows the following example:
public data class Person(string FirstName, string LastName);
It seems https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9 is saying what you wrote above though.
Seems my previous comment was based on outdated/wrong information, I'm sorry and thanks for clarifying :)
Edit: Seems the post I wrote was published 20th May (probably written before) and that was the same date someone said the same thing as my comment here in the discussion about the "records" feature https://github.com/dotnet/csharplang/issues/39#issuecomment-631572976
BuckRogers · 2020-08-24
My post is referring to today. It's worth adding that for the future, .NET MAUI[0] may be what people are looking for. It's an evolution and expansion of Xamarin.Forms. I'd have a hard time believing you will be able to do better for a native, crossplatform GUI than .NET MAUI when it's ready.
[0]https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-a…
jordwest · 2020-08-04
I'm pretty excited to see where the new .NET MAUI [1] goes. It's still in development, but it seems like it could be a great contender for fully cross-platform native UIs.
Paired with F# the proposed Elm-like model-view-update style would be the dream.
[1] https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-a…
zubspace · 2020-05-20
I still love Windows Forms and the designer. Sometimes some solutions are a bit hacky and the designer can do really weird stuff, but I can manage. I think, the standardized look and feel really works well for complex business applications.
WPF is nice for fully customized UI where you want your application to look modern, but xaml can really be daunting. And it's not only xaml, but that whole MVVM thing can be a nightmare to teach and stick to in a large team and project. Moreover you probably need some designers or an external company to design your UI's to really shine.
I would keep a close eye on MAUI [1] and where it will go. The Model-View-Update (MVU) pattern looks interesting and the cross platform aspect could be really nice.
[1] https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-a…
GordonS · 2019-05-10
Packet is a great alternative to the NuGet client.
Tooling might be slightly behind Java's, but honestly, there's not much in it. Dotnet Core might only have been available on Linux for a few years, but Mono was around for many before that.
The dotnet CLI also recently got the concept of 'global tools', which are akin to NPMs.
A lot of work is also underway on better cross-platform performance analysis, crash dump handling and the like for runtime in production[0]
Is there anything in particular you miss?
[0] https://devblogs.microsoft.com/dotnet/introducing-diagnostics-improvem…