Live data from Hacker News

Preparing for the .NET 10 GC

maoni0.medium.com

1–10 of 64 posts

Re: Preparing for the .NET 10 GC

#4
post #2

For those who like me was left wondering what DATAS is, here is the link: https://learn.microsoft.com/en-us/dotnet/standard/garbage-co...

Yeah, I kept scrolling to the top to see if I overlooked something.

Then I realized, "oh, it's hosted on Medium." (I generally find Medium posts to be very low quality.) In this case, the author implies that they are on the .Net team, so I'm continuing to read.

(At least I hope the author actually is on the .Net team and isn't blowing hot air, because it's a Medium post and not something from an official MS blog.)

Re: Preparing for the .NET 10 GC

#6
post #2

For those who like me was left wondering what DATAS is, here is the link: https://learn.microsoft.com/en-us/dotnet/standard/garbage-co...

> Maximum throughput (measured in RPS) shows a 2-3% reduction, but with a working set improvement of over 80%.

I have a hard time finding this approach compelling. The amount of additional GC required in their example seems extreme to me.

Re: Preparing for the .NET 10 GC

#8
post #3

It's incredibly frustrating the author doesn't actually say "Garbage Collector (GC)" I'm aware but something niggling in the back of my head had me second guessing.

Even worse: they don't explain what the DATAS acronym means. Seems like the author makes too many assumptions about the knowledge base of their reader IMO.

Re: Preparing for the .NET 10 GC

#9
post #5

This post would carry a lot more authority if it was on an official MS or .net blog; instead of Medium. (I typically associate Medium with low-quality blog entries and don't read them.)

I don't generally find them low quality, but I do wish people wouldn't use it since I don't subscribe to it.

Re: Preparing for the .NET 10 GC

#10
One anecdote from working with .Net for over 20 years: I've had a few situations where someone (who isn't a programmer and/or doesn't work with .Net) insists that the application has a memory leak.

First, I explain that garbage collected applications don't release memory immediately. Then I get sucked into a wild goose chase looking for a memory leak that doesn't exist. Finally, I point out that the behavior they see is normal, usually to some grumbling.

From what I can tell, DATAS basically makes a .Net application have a normal memory footprint. Otherwise, .Net is quite a pig when it comes to memory. https://github.com/GWBasic/soft_matrix, implemented in Rust, generally has very low memory consumption. An earlier version that I wrote in C# would consume gigabytes of memory (and often run out of memory when run on Mono with the Bohem garbage collector.)

---

> If startup perf is critical, DATAS is not for you

This is one of my big frustrations with .net, (although I tend to look at how dependency injection is implemented as a bigger culprit.)

It does make me wonder: How practical is it to just use traditional reference counting and then periodically do a mark-and-sweep? I know it's a very different approach than .net was designed for. (Because they deliberately decided that dereferencing an object should have no computational cost.) It's more of a rhetorical question.

Post reply on HN