Re: My arguments
Fergus Henderson <[email protected]> Wed, 13 Aug 2003 15:44:29 +1000
| Newsgroups | gmane.comp.gnome.mono.garbage-collection |
|---|---|
| Message-ID | <[email protected]> |
On 12-Aug-2003, David Jeske <[email protected]> wrote: > When I'm writing a piece of useful interactive software (web-server, > client application), I will happily give up 30-50% of my CPU if I have > to, but I cannot accept uncontrolled pauses. ... > Therefore, the collector must either be incremental (tri-color, > reference counted, etc..) or fully concurrent with the application. > > If we're not going to achieve that, we might as well just keep using > libgc. I don't agree. For many applications we ought to be able to get significantly better performance than libgc using a good copying or mark/compact garbage collector. Also, there are advantages to using a type-accurate collector rather than a conservative collector (e.g. more predictable memory usage) which are desirable for some applications. So type-accurate copying or compacting collection is desirable even if it is not incremental. Furthermore, for non-interactive applications, incrementality is not useful, and adding incrementality probably requires trading off performance, which is undesirable. So in fact for these applications incremental collection is not just unnecessary, it is postively harmful. Of course you are right that some other applications need incremental collection. Different applications have different needs that can only be satisfied by different garbage collectors. So the long-term plan should be to have several different garbage collectors, or at least several different GC strategies, and to provide application developers with some way of giving hints to the runtime about which GC to use. In the short to medium term, I think implementing a type-accurate collector and integrating it with the rest of the Mono implementation is already a complex task, so I think we should start off simple, e.g. with a straight-forward copying collector, and then worry about extending it to support generational collection, and only then worry about an incremental collector. However, we should of course keep in mind while developing this the long-term goal of having support for multiple different collectors or collection strategies including at least one incremental collector. -- Fergus Henderson <[email protected]> | "I have always known that the pursuit The University of Melbourne | of excellence is a lethal habit" WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp. _______________________________________________ Mono-gc-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-gc-list