Hi Phil, I also want to mention that the GC only compacts the heap whenever it thinks that the heap is already too fragmented. Most of the time he only collects dead objects without moving around anything. Also collecting may be done by only walking through gen0. Whenever a reference in gen1, gen2 or any other root is changed to point to an object in gen0, it gets especially marked. That's another performance boost. Maybe google can turn up more details.
There was a guest lecture about Heap Reference Analysis on my Uni in April. The lecturer more precisely defined when an object may be considered as dead (i.e. not when there are no references anymore but as soon as the runtime knows that the reference won't be used anymore). It makes an interesting read: http://www.cse.iitb.ac.in/~uday/soft-copies/etaps-08-dfa.pdf Thomas ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ SharpOS-Developers mailing list SharpOS-Developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sharpos-developers