[gclist] Whats the right algorithm for this case?

Charles Fiterman cef@geodesic.com
Fri, 31 Jan 1997 09:12:30 -0600

At 02:15 PM 1/31/97 +0000, you wrote:
>> At 09:55 AM 1/31/97 +0000, you wrote:
>> >> First applications that use the treadmill will be giving the collector 
>> >> atoms of time when they are idle. This more than fills the collectors 
>> >> needs for time and can be used to finalize and free objects instead of 
>> >> having that work done when a header is needed.
>> >
>> >Many applications are never idle, or need to be able to run for hours
>> >or days at a time with no idle time. Should these applications not use
>> >the treadmill?
>> Thats right. The treadmill trades lots of efficiency for extreme incremental
>> behavior where the largest collector delay is very small. If you don't need
>> that you are being very silly to use the treadmill.
>What if you do need that, and yet are never idle (or may run for hours
>without idle time)? The two are completely orthogonal.

I don't know? The applications I'm familiar with have tons of idle time and
low tolerance for collector delays. Shifting work into idle time is always
good so having finalizers run in idle time allows the program to shift its
work into idle time opportunisticly. When you have some work to do in idle
time build an object that does it in its finalizer and don't point to it.

I really think you need a different algorithm and this forum is the right
place to ask. I don't know what will work, maybe you can add more info about
your specific application.
Charles Fiterman		Geodesic Systems
414 North Orleans Suite 410	Phone 312 832 1221 x223
Chicago IL 60610-4418		FAX   312 832 1230

A computer language without garbage collection
  is like a city without garbage collection.