My arguments

Fernando Diaz <[email protected]> 12 Aug 2003 13:21:33 +0200
Newsgroups gmane.comp.gnome.mono.garbage-collection
Message-ID <[email protected]>
In the other mail i have suggested two algorithms for a future garbage
collector for Mono:

1) Mark-Compact
2) Copying Collection

I have been made an study about the different techniques for a garbage
collector for a month. 

The classical algorithms are:

1) Mark-Sweep
2) Mark-Compact
3) Reference Counting
4) Copying Collection
5) Non-Copying Collection.

I think that Mono needs a collector that make the allocation process the
simpliest it could be, then i refused the Mark-Sweep and Non-Copying
Collection, because they have the problem of fragmentation what guide us
to a complex allocator.

The reference counting algorithm have the problem that it can clean
objects with cyclic references between them, and it has a beavy
algorithm.

With Mark-Compact we have a collector that provides us a fast and simply
allocation routine, and a good locality for caché and virtual memory.
The same as Mark-Compact ocurrs in Copying Collection. The problem with
them is that we need to rebuild the references to the objects after a
collection, because the objects will me moved from their original
location into the heap.

A generational adaptation of these algorithms would be good, it would
make them more efficient. But an incremental adaptation would make them
more complex and it would give them a few advantages.


What do you think about?.

Regards.
-- 
Fernando Diaz <[email protected]>
_______________________________________________
Mono-gc-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-gc-list