Collin Jasnoch wrote:
To reiterate again, you need to know what you are wanting from the GC before you start messing with it. Oh and Microsoft claims the the GC in VS 2010 is "Better", whatever the heck that means (I do not recall a time when microsoft released a product and claimed something about it was "worse" or the same for that mattter).
Well obvious possibilities occur: One would be doing fewer G1 collects to reduce the number of objects making it to G2. The second would be to change the large object heap to avoid the sort of problems in the article I linked elsewhere in the thread. Changing the end of the free memory chain would mitigate the pathological case described. Another option would be to suck it up and compact it (at least partially) if the utilization fraction got too low. In extremis only attempting to do so when an out of memory error would otherwise occur, but would still generate large amounts of flack for making the poor management visible. "My app gobbled xGB of unused ram before releasing 99% of it." This would also be impractical if running x64 code because of the larger address space.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall