Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!decwrl!megatest!djones
From: djones@megatest.UUCP (Dave Jones)
Newsgroups: comp.sw.components
Subject: Re: Problem requiring GC -- try again.
Message-ID: <8390@goofy.megatest.UUCP>
Date: 28 Sep 89 21:51:58 GMT
References: <923@scaup.cl.cam.ac.uk>
Organization: Megatest Corporation, San Jose, Ca
Lines: 43

From article <923@scaup.cl.cam.ac.uk>, by scc@cl.cam.ac.uk (Stephen Crawley):
...
> 
> First: you are solving a special case of a graph consisting of nodes
> connected by two way links.  I was thinking of the more general case 
> (harder) problem where the links are ordinary pointers.  
> 

I was solving a problem in graph reduction. Using two way links was
an implementation decision. 

> Try to imagine a randomly connected network of records of various types 
> with pointers going all over the place.  The problem is to construct
> a graph editor that will allow me to make modifications to this data 
> structure in place.

Sounds a lot like the LISP heap to me. Garbage collection is known
to be a dandy way to handle that. I'll give that much ground. I have
yet to encounter a real problem where I ultimately decided that the data
should be quite that scrambled and unorganized, but if I do, I'll clammor
for LISP or something like it. It's not a religion with me.

> Second: have you tried measuring the performance of your non-GC'ed
> solution to your problem against that of an equivalent GC'ed solution
> (same problem, same language/compiler, decent garbage collector ...) 
> Without taking proper measurements, your pronouncements about the 
> efficiency advantages of your solution have no scientific basis.

At a midwestern university, I once taught a couple of graduate courses in
the Design and Analysis of Algorithms. (Ooooooh. Impressed?  No?
Oh, well.) I somehow managed to convince some of my students that you could
usually make accurate estimates as to how fast things would run without
actually running them. Almost convinced myself at one point.

> ...
> 
> Finally: you must admit that even your special case solution was hard
> to arrive at, and that at least the storage management aspects would
> have been considerably easier if you had a GC in your language.  
> 

So what? I like a good challenge. Keeps me out of the cardrooms at night.
Well, some nights.