Live data from Hacker News

What .NET 10 GC changes mean for developers

roxeem.com

11–20 of 253 posts

Re: What .NET 10 GC changes mean for developers

#12

Are you now allowed to benchmark the .Net runtime / GC? Edit: Looks like you are allowed to benchmark the runtime now. I was able to locate an ancient EULA which forbade this (see section 3.4): https://download.microsoft.com/documents/useterms/visual%20s... > You may not disclose the results of any benchmark test of the .NET Framework component of the Software to any third party without Microsoft’s prior written appr…

...Were you not before?

IIRC the EULA forbids it. This is why you don't see .net v/s Java GC comparisons for example.

Re: What .NET 10 GC changes mean for developers

#13

Use managed language, it will handle memory stuff for you, you don’t have to care. But also read these 400 articles to understand our GC. If you are lucky, we will let you change 3 settings.

It works just fine out of the box. The articles/manuals are just if you want to really understand how it works and get the most out of it. What's the issue with that?

Re: What .NET 10 GC changes mean for developers

#14

Earlier quoted context omitted.

...Were you not before?

IIRC the EULA forbids it. This is why you don't see .net v/s Java GC comparisons for example.

I can't find mention of anything resembling this. The .NET runtime is under the MIT license.

Re: What .NET 10 GC changes mean for developers

#15

Are you now allowed to benchmark the .Net runtime / GC? Edit: Looks like you are allowed to benchmark the runtime now. I was able to locate an ancient EULA which forbade this (see section 3.4): https://download.microsoft.com/documents/useterms/visual%20s... > You may not disclose the results of any benchmark test of the .NET Framework component of the Software to any third party without Microsoft’s prior written appr…

Yes.

Re: What .NET 10 GC changes mean for developers

#16
post #3

Interesting, I mostly work in JVM, and am always impressed how much more advanced feature-wise the .NET runtime is. Won't this potentially cause stack overflows in programs that ran fine in older versions though?

I am surprised that they didn't already do a lot of optimizations informed by escape analysis, even though they have had value types from the beginning. Hotspot is currently hampered by only having primitive and reference types, which Project Valhalla is going to rectify.

Re: What .NET 10 GC changes mean for developers

#18

Earlier quoted context omitted.

...Were you not before?

IIRC the EULA forbids it. This is why you don't see .net v/s Java GC comparisons for example.

What are you talking about?

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Re: What .NET 10 GC changes mean for developers

#19

Are you now allowed to benchmark the .Net runtime / GC? Edit: Looks like you are allowed to benchmark the runtime now. I was able to locate an ancient EULA which forbade this (see section 3.4): https://download.microsoft.com/documents/useterms/visual%20s... > You may not disclose the results of any benchmark test of the .NET Framework component of the Software to any third party without Microsoft’s prior written appr…

Yes, you probably mixed it with SQL Server.

> Publishing SQL Server benchmarks without prior written approval from Microsoft is generally prohibited by the standard licensing agreements.

Re: What .NET 10 GC changes mean for developers

#20

Use managed language, it will handle memory stuff for you, you don’t have to care. But also read these 400 articles to understand our GC. If you are lucky, we will let you change 3 settings.

You need these settings when you drive your application hard into circumstances where manual memory allocation arguably starts making sense again. Like humongous heaps, lots of big, unwieldy objects, or tight latency (or tail latency) requirements. But unless you're using things like Rust or Swift, the price of memory management is the need to investigate segmentation faults. I'd prefer to spend developer time on feature development and benchmarking instead.
Post reply on HN