4 ms·
Simple implementation of RC with multithreading implies a lot of atomic counter updates which clog a multicore cpu fast. Therefore you apply techniques like Ap
by vnorilo 4y ago
Simple implementation of RC with multithreading implies a lot of atomic counter updates which clog a multicore cpu fast.
Therefore you apply techniques like Apple's ARC, or deferred-coalesced counter mutation.
Add cycle leak detectors and the RC scheme is looking more and more like a really slow garbage collector, albeit a low latency one.
Note that simple RC is not deterministic or good for real time either because of the possibility of release/destruct cascade. Which looks pretty much like a GC pause (because it is one).