Live data from Hacker News

Performance Improvements in .NET 6

devblogs.microsoft.com

41–50 of 256 posts

Re: Performance Improvements in .NET 6

#41

Some very nice improvements! I hope that this trend with focus on performance continues in the future and that NativeAOT becomes first class citizen soon.

It will be interesting to see how well trimming and AOT (closely related technologies) turn out. I’ve already been able to build useful trimmed self-contained CLI apps with .NET 5 and 6, and based on what I’ve seen of NativeAOT I think it’d work for those.

OTOH things get dicier the further you get away from the core .NET libraries, and some of the enabling technologies are so new that they haven’t seen much adoption yet (example: the venerable COM interop system vs the new ComWrappers).

If you’d like to keep up to date on NativeAOT, Andrey Kurdyumov is doing some top-notch work in the area: https://codevision.medium.com/

Re: Performance Improvements in .NET 6

#42

Where should someone start if they wanted to get familiar and proficient with .NET?

.net is very easy, I have more than 11 years of experience in .net doing gaming and web development and believe me is a very easy language with a very powerful ide and a lots of documentation.

Re: Performance Improvements in .NET 6

#43
post #39

WinForms and its Visual Studio designer are still broken, WPF is still riddled with bugs and was declared obsolete in ~2017 in favor of UWP, UWP is marked obsolete in favor of WinUI, and WinUI's OSS release was postponed just two days ago because it's not ready. Microsoft is marketing .NET 6 as the replacement for .NET Framework but you still cannot properly do desktop UI with it. I honestly don't understand why they…

The UI story on Windows is completely broken but that has been the case forever.

Has MS basically released anything sustainable on the UI side since MFC?

It feels like they’ve constantly provided a new new replacement every few years that replaced the new replacement from a few years ago since then.

Re: Performance Improvements in .NET 6

#44
post #25
post #9

For large enterprises, that use AWS / GCE / Azure, these improvements directly translate into huge savings in server capacity. I have always loved .NET and it keeps getting better and better. They have shown remarkable flexibility to throw away ideas that don't work and have modernized. A large part of that is due to active involvement of the community. This could be a new model moving forwards, a software worlds equ…

I’m thorn on that. As someone who has had intermittent periods of .NET, it’s a complete mess every time I’ve come back after a couple of years off and figuring out what new APIs are the new thing to use, which have been deprecated and when looking for a solution of something involving e.g. configuring stuff in the web server request handing stack it’s a real confusing mess. Docs of course aren’t all up to date and ar…

I think the transition from .NET Framework to .NET Core was inherently difficult, but was made worse by poor naming strategies and extremely poor communications.

But now that MS is largely over that hump, I think they’ve been doing a really good job.

Re: Performance Improvements in .NET 6

#45

My favorite part of dotnet 6 is the focus on hot reloading not mentioned here. Being able to work on a webapp that rapidly reloads in under a second is huge. It allows me to maintain the state of flow as I'm bringing something to life. I had a unique use case wherein I had a separate worker thread that also needed reloading with the hotreload. I was able to hook into the hot reloading via "[assembly: System.Reflectio…

Even .NET Framework supports this in a limited fashion. Start an application in Visual Studio with a debugger attached, break at a breakpoint, change a line, save, and continue with the new code. No application restart necessary.

Re: Performance Improvements in .NET 6

#46
post #30
post #25

Earlier quoted context omitted.

I’m thorn on that. As someone who has had intermittent periods of .NET, it’s a complete mess every time I’ve come back after a couple of years off and figuring out what new APIs are the new thing to use, which have been deprecated and when looking for a solution of something involving e.g. configuring stuff in the web server request handing stack it’s a real confusing mess. Docs of course aren’t all up to date and ar…

> It’s way worse than React in this regard (if not only by its sheer size and larger scope) FWIW, I've used React for 18 months now. Except Java and classic core PHP it is one of the most stable platforms I've developed on. So, in my view being less stable than React isn't a big problem.

Yeah, I'm talking about having used React extensively since its inception 8 years ago with a couple of 1-3 years periods of being out of that ecosystem and coming back again.

I'm sure it's a completely different game these days.

Especially I recall that with lifecycle methods, previously idiomatic patterns would be deprecated with stern runtime warning within a year. Like this: https://reactjs.org/blog/2018/03/27/update-on-async-renderin...

Granted React team has been way more effective at communicating than the .NET team, again facilitated by a much smaller scope.

As for the ecosystem:

Anyone else remembers when react-saga was The One Way To Manage Effects? Or going through all the major versions of react-router?

Re: Performance Improvements in .NET 6

#47
post #23
post #11

Earlier quoted context omitted.

What are some of the libraries you're thinking of?

I'd like to see them to roll their own identity platform after IdentityServer went close source.

Identity server is still open source, it just has a much more restrictive license and is paid.

https://github.com/DuendeSoftware/IdentityServer

Re: Performance Improvements in .NET 6

#48
post #39

WinForms and its Visual Studio designer are still broken, WPF is still riddled with bugs and was declared obsolete in ~2017 in favor of UWP, UWP is marked obsolete in favor of WinUI, and WinUI's OSS release was postponed just two days ago because it's not ready. Microsoft is marketing .NET 6 as the replacement for .NET Framework but you still cannot properly do desktop UI with it. I honestly don't understand why they…

The UI story on Windows is completely broken but that has been the case forever. Has MS basically released anything sustainable on the UI side since MFC? It feels like they’ve constantly provided a new new replacement every few years that replaced the new replacement from a few years ago since then.

That's definitely true but they did a good job supporting their tech once it was released.

My company has been using WinForms on .NET Framework for over 10 years now and it's working really, really well. Microsoft even added HiDPI support to it.

When Microsoft announced they wanted to bring WinForms to .NET Core 3, we were initially very happy as it meant we could switch to .NET Core. But then they did all kinds of shenanigans with it and completely rewrote the designer for .NET Core in Visual Studio, which is now riddled with bugs and crashes constantly. You cannot even load your own custom controls into it. I mean, you can, just get Microsoft to let you sign an NDA to get access to the APIs...

Re: Performance Improvements in .NET 6

#49
post #9

For large enterprises, that use AWS / GCE / Azure, these improvements directly translate into huge savings in server capacity. I have always loved .NET and it keeps getting better and better. They have shown remarkable flexibility to throw away ideas that don't work and have modernized. A large part of that is due to active involvement of the community. This could be a new model moving forwards, a software worlds equ…

They still have problems with listening. It got much better but they often do not hear or understand when it does not fit into the world picture of their product managers. This is human (and in that level not bad or malicious) but they are a bit too proud for it.

Re: Performance Improvements in .NET 6

#50
At work, I'm the maintainer of a 30k SLOC VB.NET codebase. Originally windows-only, when I took over I ran it under mono on Linux and OSX. The day that MS released dotnetcore, I jumped to that. Overall the experience has been really good.

There are lots of complexities, but in short... .NET 5 gave it a 4% speed boost across the board, going up to 20% [!] in some cases. Mainly that was ascribable to the intersection of GC improvements and kinda-degenerate cases in the model.

For this particular codebase, very little in that article will be that significant [the VB.NET code uses a pretty limited set of stuff in the core libraries]. But their trajectory, and a million tiny improvements, really gives me a lot of optimism.

What I originally considered a pretty cynical stab at Oracle when they released .NET's source has really turned into a wonderful, performant, developer-friendly, and pleasantly-cross-platform ecosystem.

Post reply on HN