←back to thread

.NET 10

(devblogs.microsoft.com)
484 points runesoerensen | 1 comments | | HN request time: 0s | source
Show context
jitbit ◴[] No.45888669[source]
For us, every .NET upgrade since .NET 5 has gone surprisingly smoothly and reduced CPU/RAM usage by 10–15%.

We were even able to downgrade our cloud servers to smaller instances, literally.

I wish .NET was more popular among startups, if only C# could get rid of the "enterpisey" stigma.

replies(26): >>45888799 #>>45888804 #>>45889332 #>>45891939 #>>45896032 #>>45898279 #>>45898305 #>>45898358 #>>45898503 #>>45898877 #>>45899062 #>>45899235 #>>45899246 #>>45899326 #>>45899445 #>>45899481 #>>45899858 #>>45900544 #>>45900791 #>>45900829 #>>45903218 #>>45904345 #>>45904435 #>>45905041 #>>45906073 #>>45907122 #
parliament32 ◴[] No.45899481[source]
I think the key problem is that a large number of startups are shipping software in containers, and dotnet requiring a CLR is not particularly well-suited for containerization. It's like the old school Java JVM model. You have to ship a copy of the runtime with every container, and if you're doing proper microservices it's an awful lot of overhead.

Yes I'm aware MS makes it easy to build containers and even single executables, but languages that compile down to an ELF are pretty much a requirement once your deployments are over the 10k containers mark.

replies(11): >>45899527 #>>45900963 #>>45901005 #>>45901024 #>>45901026 #>>45901133 #>>45901711 #>>45901752 #>>45903133 #>>45904968 #>>45905736 #
paride5745 ◴[] No.45899527[source]
Exactly this point.

Go and Rust produce native binaries, I wish C# had an official native compiler without the big runtime needs of .Net.

replies(2): >>45899644 #>>45899673 #
cachius ◴[] No.45899644[source]
You might want to read https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...

Publishing your app as Native AOT produces an app that's self-contained and that has been ahead-of-time (AOT) compiled to native code. Native AOT apps have faster startup time and smaller memory footprints. These apps can run on machines that don't have the .NET runtime installed.

replies(4): >>45900365 #>>45900449 #>>45900617 #>>45907144 #
parliament32 ◴[] No.45900617[source]
And this sounds great until you get to the laundry list of restrictions. For us the showstopper was you can't use reflection.
replies(2): >>45900954 #>>45901075 #
1. oblio ◴[] No.45900954{5}[source]
You can't use reflection with AOT compilation. That's what AOT compilation is. Java has the same limitation for AOT compilation, for example.