On 2013-05-29 08:06:15 +0000, Manu <turkey...@gmail.com> said:
What do you think is easier, or perhaps even POSSIBLE in D? A good RC approach, or a V8 quality concurrent+incremental GC? I get the feeling either would be acceptable, but I still kinda like idea of the determinism an RC collector offers.
Given that both require calling a function of some sort on pointer assignment, I'd say they're pretty much equivalent in implementation effort. One thing the compiler should do with RC that might require some effort is cancel out redundant increments/decrement pairs inside functions, and also offer some kind of weak pointer to deal with cycles. On the GC side, well you have to write the new GC.
Also, with RC, you have to be careful not to create cycles with closures. Those are often hard to spot absent of an explicit list of captured variables.
-- Michel Fortin michel.for...@michelf.ca http://michelf.ca/