Leo~ Nice summary of the issues, but I have a few nits to pick....
On Fri, 20 Aug 2004 10:29:28 +0200, Leopold Toetsch <[EMAIL PROTECTED]> wrote: > a) The mark phase of the garbage collection creates the graph of *all* > life (reachable) objects[1]. > b) Freezing a PMC creates the graph of reachables from that PMC on (e.g. > all array items, and subitems if an item is another array...) > c) The graph of objects created during b) is a subgraph of a), *if* both > schemes either use depth-first or breadth-first. I think that (c) may not be correct. As a breadth first search of (a) would interject random stuff into the tree that (b) would not. Consider: A refs B,C; B refs D, E; C refs F; D refs G BFS using root of A for (a): A > B > C > D > E > F > G Where as a BFS for Freezing B for (b): B > D > E > G Also consider: : A refs B,C; B refs D, E; C refs F; D refs G; E refs A BFS using root of A for (a): A > B > C > D > E > F > G Where as a BFS for Freezing B for (b): B > D > E > G > A > C > F Thus I don't think that BFS works. Now lets consider DFS of both sets. A refs C,B; B refs D, E; C refs E; D refs G; E refs A DFS using root of A for (a): A > C > E > B > D > G DFS for freezing B for (b): B > D > G > E > A > C It has occurred to me that you might mean the implicit graph of all objects rather than the explicit linked list of objects that (a) and (b) create. I believe that the graph of objects reachable from a node is a subgraph of the complete graph of object; however, I do not believe that the spanning trees of each created by DFS and BFS are subgraphs of eachother. Hope that made sense, Matt -- "Computer Science is merely the post-Turing Decline of Formal Systems Theory." -???