Live data from Hacker News

Performance Improvements in .NET 7

devblogs.microsoft.com

1–10 of 164 posts

Re: Performance Improvements in .NET 7

#2
Native AOT will come with .NET 7

https://devblogs.microsoft.com/dotnet/performance_improvemen...

> Native AOT is different. It’s an evolution of CoreRT, which itself was an evolution of .NET Native, and it’s entirely free of a JIT. The binary that results from publishing a build is a completely standalone executable in the target platform’s platform-specific file format (e.g. COFF on Windows, ELF on Linux, Mach-O on macOS) with no external dependencies other than ones standard to that platform (e.g. libc). And it’s entirely native: no IL in sight, no JIT, no nothing. All required code is compiled and/or linked in to the executable, including the same GC that’s used with standard .NET apps and services, and a minimal runtime that provides services around threading and the like.

Of course it does have some downsides:

> It also brings limitations: no JIT means no dynamic loading of arbitrary assemblies (e.g. Assembly.LoadFile) and no reflection emit (e.g. DynamicMethod), everything compiled and linked in to the app means the more functionality that’s used (or might be used) the larger is your deployment, etc. Even with those limitations, for a certain class of application, Native AOT is an incredibly exciting and welcome addition to .NET 7.

I wonder how things like ASP .NET will run with Native AOT in the future.

Re: Performance Improvements in .NET 7

#3
I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind.

It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between major versions not that big?

Re: Performance Improvements in .NET 7

#4

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

Even numbered versions are LTS

Re: Performance Improvements in .NET 7

#5

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

> they should release LTS versions of some kind.

Uh? .NET 6 is the current LTS version. 8 will be the next.

https://dotnet.microsoft.com/en-us/platform/support/policy

I don't comment on Java or Python platform versioning policies because, like you with .NET, "I don't follow the ecosystem closely enough" so I don't have anything meaningful to say about it.

> It feels kind of scary committing to .NET 7 right now .. Or is the difference between major versions not that big?

Rolling forwards, the changes are very minor indeed. And there are utilities to automate parts of the update. e.g. https://dotnet.microsoft.com/en-us/platform/upgrade-assistan...

There are of course new things that you will find missing if you're rolling backwards.

Re: Performance Improvements in .NET 7

#6
On the one hand it's cool that they are improving but how do people keep up with all these additions? I find this really hard.

Seems a lot of the changes are new stuff which you have to evaluate and see how they could actually be used productively. For example a while ago I tried the new nullable stuff and while in theory it looks straightforward it turned out to be very difficult to use nullable with existing APIs and code in a productive way. The same applies to a lot of the other new features.

I feel .NET Core after a good start is falling into the typical Microsoft trap of constantly cranking out new stuff to do the same thing and leaving it to developers to keep up. That's how we ended up with several .NET desktop UI frameworks that are more or less in maintenance mode without a real upgrade path to the currently fashionable framework (which will most likely be abandoned soon too).

Re: Performance Improvements in .NET 7

#7

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

> It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between major versions not that big?

Switching between major versions these days is incredibly easy so it's not like you pick a version for life. They're also not changing THAT much.

Re: Performance Improvements in .NET 7

#8

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

They have an excellent track record of not breaking compatibility, most updates are drop-in & forget (unless you want to utilize new lang/runtime features)

Re: Performance Improvements in .NET 7

#9

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

.NET Core 3.1 and .NET 6 are LTS (though 3.1 ends this year). Also in general things don't break that much. There are cases like nullable checks whose default changes and so if you go with that default you will have to update, but it's tweaks more than overhauls.

Re: Performance Improvements in .NET 7

#10

I don't follow the .NET ecosystem closely enough, but it feels that releasing a mayor version every year feels like kind of unnecessary? Or if they intend to keep doing this, they should release LTS versions of some kind. It feels kind of scary committing to .NET 7 right now, when in a year, it will be replaced by yet another major version promising ever increasing performance gains... Or is the difference between ma…

Every other release is an LTS release, with three years of support. .NET 6 was one so this won't be.

They are pretty good about backwards compatibility, upgrading .NET Core and .NET hasn't been a big deal so far.

Post reply on HN