On May 16, 2011, at 8:30 AM, Tim Chevalier wrote:

> On Sun, May 15, 2011 at 11:42 PM, Graydon Hoare <[email protected]> wrote:
>> This statement is highly debatable. There are several kinds of GC and
>> several kinds of RC, and they both have different cache behavior (GC trashes
>> the whole cache regularly and doubles heap pressure; RC hurts cache
>> coherence *if* you're doing shared memory multiprocessing but otherwise
>> tends to cost in code overhead..)
> 
> I assume you're just referring to copying GC, given the assertion
> about doubling heap pressure? There are other types of GC, and even
> assuming copying, generational collectors have been used to *improve*
> cache behavior: for example, Chilimbi and Larus, "Using Generational
> Garbage Collection To Implement Cache-Conscious Data Placement" (ISMM
> '98).

The paper does not support your claim. It shows that some copying GCs have 
really terrible cache characteristics (Cheney), and then proposes a new 
algorithm that improves that for some workloads over the known terrible ones. 
The paper doesn't analyze whether the old GC algorithm or the new GC algorithms 
are more cache efficient than reference counting.

Andreas

> 
> Cheers,
> Tim
> 
> -- 
> Tim Chevalier * http://cs.pdx.edu/~tjc/ * Often in error, never in doubt
> "an intelligent person fights for lost causes,realizing that others
> are merely effects" -- E.E. Cummings
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to