4 ms·
http://en.wikipedia.org/wiki/Cheney's_algorithm http://en.wikipedia.org/wiki/Cheney's_algorithm Is quite common in systems and uses "forwarding pointers".
by brandonbloom 13y ago
http://en.wikipedia.org/wiki/Cheney's_algorithm http://en.wikipedia.org/wiki/Cheney's_algorithm
Is quite common in systems and uses "forwarding pointers".
- rurban 13y agoAgreed. The potion/QISH implementation of the two-finger cheney loop is extremely efficient even without register values (volatile), typically 3ms pause time on a mid-sized heap. Compare that to typical java or ruby pause times, starting from 25ms to typically 150-250ms. You need more memory though, as in most lisps it's using copying, i.e. compacting, not just simple mark&sweep. Incremental is doable, but you need to add GC state then, which is a bit tricky in threads. Actually libgc is pretty good.