Let's address another GC misconception: that you can divide GC algorithms into "perfectly precise" ones like tracing and "imprecise" ones like reference counting without cycle collection.
I don’t mean for it to be “pro-GC” or “anti-GC”. The point is that the precise tractable problem of reachability is not actually the relevant criterion.
-
-
The observations is relevant to non-GC’d environments too. In manual memory management terms it means that it’s OK to have dangling pointers as long as you don’t actually use them.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Sure it is. If program flow is influenced by inputs that don't exist until the future, reachability is the *only* possible criterion; halting problem is not even relevant because the data you branch on doesn't exist yet.
-
Simple example: What if you have an array with more than 256 elements and all indices into that array are uint8_ts? In that case, those excess elements are reachable but will never be accessed. It’s safe to free those excess elements, but no GC will do that.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.