Top all-time · #14216
Stories by Maoni0 on Medium
Personal blog · maoni0.medium.comprogrammingsystems
Stories by Maoni0 on Medium is a personal blog at maoni0.medium.com about programming and systems. Since 2022, 5 different Hacker News readers have linked it 9 times, most often “Dynamically Adapting to Application Sizes”. It is still writing: the last post was on 2025-09-24, and you can follow it by feed.
Most-linked posts?
- Dynamically Adapting to Application Sizes3 people · 6 mentions · first linked 2023-12-09
What Hacker News says?
Historically, at its inception, .NET's GC was written in LISP and then transpiled to C++ with a custom converter. It is still a single-file implementation, but I'm afraid it's not 1000 but 53612 lines instead as we speak :) Well, that's not one file per se and there is more code and "supporting" VM infrastructure to make GC work in .NET as well as it does (it's a precise tracing generational moving GC), so the state…
Comment linking /dynamically-adapting-to-application-sizes-2d72fcb6f1ea
on “Swift 6”Submitted Preparing for the .NET 10 GC as a story · 102 points
HN discussionAh, I see where you are coming from. You are correct, sustained load heap size of SRV GC has been a known pain point that had been particularly exacerbated after beefy Windows Server hosts fell out of fashion and got replaced by 512Mi Linux containers. There has been work conducted on this each release throughout Core 2.1, 3.1, and then 5, 6, 7 and 8 versions to make it play nicer with more constrained memory limit…
Comment linking /dynamically-adapting-to-application-sizes-2d72fcb6f1ea
on “Garbage collection for systems programmers (2023)”Submitted Write Barrier Optimizations in Regions as a story · 2 points
HN discussionPer-core heaps. Count, sizes and proportions of generational heaps can also be scaled dynamically according to allocation rate, target % CPU time spent in GC and collection efficiency, like .NET's GC does. https://devblogs.microsoft.com/dotnet/put-a-dpad-on-that-gc/ https://maoni0.medium.com/dynamically-adapting-to-applicatio...
Comment linking /dynamically-adapting-to-application-sizes-2d72fcb6f1ea
on “Copying collectors with block-structured heaps are unreliable”Submitted Dynamically Adapting to Application Sizes as a story · 1 points
HN discussionIn .NET, GC is triggered when a user thread runs out of memory in an allocation budget and needs more, similar to what you described [0]. Generally speaking, indefinitely preventing GC from running is not possible (you always end up putting some data on the heap) therefore an optimal strategy is similar to any other language - limiting allocations and reusing memory through object and array pooling. This will ensure…
Comment linking /dynamically-adapting-to-application-sizes-2d72fcb6f1ea
on “Murder is a pixel art ECS game engine in C#”Submitted Dynamically Adapting to Application Sizes as a story · 1 points
HN discussion