[gclist] Re: gclist-digest V2 #96

Michael Spertus mps@geodesic.com
Mon, 15 Dec 1997 11:40:12 -0600


At 10:40 PM 12/10/97 -0500, P. T. Withington wrote:
>At 13:09 -0800 12/10/97, Giuliano Carlini wrote:
>>Mike exagerates a bit here, bit just a bit. Theoretically
>>it is not precise, but practically speaking it is.
>>
>>There is a very small chance that a random integer will
>>correspond to a block. Consider a 2^N heap all of whose
>>data are uniformly distributed integers. The chance of any
>>1 integer corresponding to some block is 2^(N-64). The chance
>>that some integer corresponds to some block is 2^(2N-64). For
>>a 16M heap purely of integers the chance that some block will
>>be falsely retained is therefore 1/64K.
>>
>>The usual facts and techniques make it much less likely than
>>that.
>
>Ah, cute.
>
>But won't this effect only last as long as we are only porting 32-bit
>applications to 64-bit machines?  2^64 is a very big number, but 2^18 was
>considered so in its day, too.  I've run Lisp images with 500M heaps,
>which, if I did my math right puts the odds at ~ 1/1000...
>
You did your math right. However, the situation is much better than that.
If this kind of calculation was a good barometer, conservative collection
would be essentially useless on 32-bit machines. However, data values are
not equidistributed, collectors blacklist, and large opaque objects can
usually be labeled if necessary. All of these difference *benefit*
conservative collectors. Even on large 32-bit programs, conservative
collection works quite well, and it will be many decades, if ever, before
conservatism is a problem with 64-bit collectors.

Michael Spertus                            mps@geodesic.com
Geodesic Systems                           (312) 832-1221
414 N Orleans, Suite 410                   http://www.geodesic.com
Chicago, IL 60610