Preparing for the .NET 10 GC
maoni0.medium.com
Preparing for the .NET 10 GC
1–10 of 64 posts
Re: Preparing for the .NET 10 GC
#2https://learn.microsoft.com/en-us/dotnet/standard/garbage-co...
Re: Preparing for the .NET 10 GC
#3Re: Preparing for the .NET 10 GC
#4For those who like me was left wondering what DATAS is, here is the link: https://learn.microsoft.com/en-us/dotnet/standard/garbage-co...
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
#5Re: Preparing for the .NET 10 GC
#6For those who like me was left wondering what DATAS is, here is the link: https://learn.microsoft.com/en-us/dotnet/standard/garbage-co...
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
#7This 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.)
Re: Preparing for the .NET 10 GC
#8It'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.
Re: Preparing for the .NET 10 GC
#9This 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.)
Re: Preparing for the .NET 10 GC
#10First, 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.