"Manu" <[email protected]> wrote in message news:[email protected]... > On 28 April 2012 04:10, H. S. Teoh <[email protected]> wrote: > >> On Sat, Apr 28, 2012 at 01:31:32AM +0200, SomeDude wrote: >> [...] >> > The other thing that would make it attractive among the C++ >> > developers, would be the development of a lightweight, high >> > performance, minimal library that doesn't use the GC at all. Ideally, >> > it would be compatible with Phobos. I bet if such a library existed, >> > flocks of C++ developers would suddenly switch to D. >> >> I know the current GC leaves much room for improvement, but what's the >> hangup about the GC anyway? If -- and yes this is a very big if -- the >> GC has real-time guarantees, would that make it more palatable to C++ >> devs? Or is it just because they have trouble with the idea of having a >> GC in the first place? >> > > If the GC guarantees to behave in a deterministic and predictable way, I > have no problem with it. And even if it doesn't, as long as it's lightning > fast, and I can control the sweeps. > One major concern to me is invisible allocations. I want to know when I'm > allocating, I like allocate operations to be clearly visible. There are a > lot of operations that cause invisible allocations in D, but they are > avoidable. > Games are both embedded and realtime code at the same time, this unions > the > strict requirements of both worlds into a system that demands very tight > control of these things. Fragmentation is the enemy, so is losing 1ms (GC > takes WAY longer than this currently) at random moments. > > There is a problem right now where the GC doesn't actually seem to work, > and I'm seeing D apps allocating gigabytes and never releasing the memory. > A great case study for the GC is VisualD, if any GC experts would like to > check it out. It shows a use case where the GC utterly fails, and makes > the > software borderline unusable as a result. It seems to 'leak' memory, and > collects can take 5-10 seconds at a time (manifested by locking up the > entire application). > VisualD has completely undermined by faith and trust in the GC, and I've > basically banned using it. I can't afford to run into that situation a few > months down the line. >
I once tried to create a batch image processing tool in D, and false pointers rendered the whole thing unusable. I've been wary about such things since. This was a number of years ago, though.
