On 4 February 2014 19:59, Don <x...@nospam.com> wrote: > On Tuesday, 4 February 2014 at 03:43:53 UTC, ed wrote: > >> >> >> Most of us know and understand the issues with ARC and that with a GC. >> Many of us have seen how they play out in systems level development. There >> is a good reason all serious driver and embedded development is done in >> C/C++. >> >> A language is the compiler+std as one unit. If Phobos depends on the GC, >> D depends on the GC. If Phobos isn't systems level ready, D isn't systems >> level ready. I've heard arguments here that you can turn off the GC, but >> that equates to rewriting functions that already exists in Phobos and not >> using any third-party library. >> > > At Sociomantic, that is exactly what we have done. Phobos is almost > completely unusable at the present time. > > I personally don't think that ARC would make much difference. The problem > is that *far* too much garbage is being created. And it's completely > unnecessary in most cases. >
I agree here. A new collector can't distract from the task of reducing the amount of garbage produced in the first place. I've never suggested ARC will make a wild difference in terms of performance in the standard use case, that's not the point (although I do imagine it would be faster). I'm saying that ARC is not fundamentally incompatible with many kinds of workloads, and offers the application a level of flexibility that's not available under a GC alone. It's an enabler for some whole new industries to use D with confidence.