Christopher Brumme -- Will there be improvements to .NET's garbage collector?
- Posted: Jun 25, 2004 at 1:49 PM
- 10,034 Views
- 1 Comment
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
.NET's garbage collector has a tough job. It manages your memory usage, always looking to "collect" unused memory and give it back to the system.
Obviously this is a pretty important function of the .NET system.
Since Christopher is one of the few people who knows how the garbage collector works, we thought we'd ask if we should expect improvements in the reliability or performance of the .NET garbage collector.
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
One of the most serious issues for .net (as a philosophy and metaphor for the future of microsoft's core OS's) is that GC originated on environments which are mostly classic workstation "pre PCs" like the Xerox Dorado etc. with Smalltalk, and Symbolics style Lisp machines. Now on these, you have one Ego (Highlander style) which owns everything. You have One True Environment (EMACS style
- sorry RMS). But, Win64 means Terabytes of memory and potentially 100k processes. 10k of those at least will be managed
app domains. Who wins? Can there only be One? My own view is that just as we have evolved to a stage in software design where we no longer expect language (syntax) to be separate from implementation (semantics) we have to make design and other constraints
which say that "in order to be a good citizen you can't assume that your contract with GC is that it won't dump you - in other words don't keep transient state and any transient state is explicitly stated by you when you code (that requires a step backwards
a bit like the old handle based mem alloc but if everyone cooperates then it works). I guess right now I think that Win64 really means truly awesome games UT2010 style which will want 100TB HD, 64GB memory and run managed (but who can tell??). In my own (fantasies)
I'm sticking with the old Boehms-Demer (who cares?) approach - GC is really controlled disorganization, not order.

I think that if Microsoft wants to get a handle on this they ought to talk to the CERN folks who have data management problems (including memory and processing requirements) from Hell - Terabytes are what pours in daily, and Petabytes are what have to be managed. It won't be many weeks before the newest game
will have similar requirements
Bottom line: Compilers etc are just tools we use, not magic. If you want magic then you have to listen to other (smarter) engineers... DEK, RMS,ESR , Wirth , Anders and a cast of not so many. Today we have a luxury which we never had before - we can talk to each other (and gee, it took forever in the past to build that kind of network).
Remove this comment
Remove this thread
close