[gclist] gclist is still alive but not very active
Charles Fiterman
cef@geodesic.com
Wed, 05 Nov 1997 13:01:33 -0600
At 10:28 AM 11/5/97 -0500, you wrote:
>On Wed, 5 Nov 1997, John R Levine wrote:
>
>> The gclist mailing list hasn't had any posts for two months, although it has
>> over 400 subscribers. Have we really solved all of the problems of GC?
>
>Ok, here are two questions to chew on :-)
>
>1: How do conservative garbage collectors for un-cooperative languages
>degrade over time when used in extremely long-lived server processes?
For most programs losses due to false pointers are O(1) where O is
small, typically zero. There are pathological cases which are O(n)
where O is non zero. Every pathological case we've found so far
can be solved by making a small number of classes leaf objects, that
is by telling the collector that some bit map or array of doubles
really doesn't have any pointers in it. Since scan time for leaf objects
is zero this is win win once you do the work.
Our latest versions have what we call foot print reduce for some
operating systems. This means the collector can hand unused space back
to the operating system. If the space allocation pattern of a long
running program is inhale, exhale ... rather than grow, run, terminate
this can be a large improvement. The while foot print reduce can
be simply turned on it works best when invoked by the mutator. This
is because foot print reduce is invoked by collection and collection
is rarely invoked in the exhale part of an inhale, exhale cycle. The
mutator knows when its in an exhale part of its cycle.
The rule of thumb is this:
If your program is small and simple attaching a conservative collector
will be the work of minutes. Performance changes will either be negligible
or favor the collected version by large amounts because we reduce
paging by killing a leak.
If your program is large, say the result of man years of effort attaching
a conservative collector will take a couple of man weeks. Performance
changes will be small but will become large favoring the collector after
tuning is done. Tuning is largely telling the collector about leaf objects
and telling the collector how much space to start with.
>2: Why are there no commercial conservative garbage collectos for Linux?
Lack of demand but we're working on it.
-
Charles Fiterman Geodesic Systems
414 North Orleans Suite 410 Phone 312 832 1221 x223
Chicago IL 60610-4418 FAX 312 832 1230
http://www.geodesic.com
A young man saw a product advertised in a magazine that said
"Guaranteed 100% effective against bugs when properly used."
He sent away and got two blocks of wood with the instructions
"Place bug on block A, strike sharply with block B." Debuggers
are like that, and you can get stung while using them. Great
Circle tries to be something better than that.