Concurrent Cycle Collection in Reference Counted Systems
Created on 2022-01-29T18:16:19-06:00
O(N+E) worst case for collection, based on the size of the graph to trace.
Every object has "buffered" flag which determines if it was already added to roots this cycle.
Also is supposed to only scan areas which may be cyclic rather than all of the memory.
Use of buffered flag appeared to have little to no benefit but limiting the scope of search was very important.
Defines a synchronous cycle collector and a concurrent cycle detector built off of it.