On 2014-05-27 10:18 AM, "Ola Fosheim Grøstad" <[email protected]>" wrote:
On Tuesday, 27 May 2014 at 13:58:26 UTC, Etienne wrote:
That's true, though you still need the thread ID for references to
pointers and you need to be able to pass those pointers to C.

I am not really sure how useful references to gc-pointers is. I
certainly would trade them in for multiple return values. I also think
it is reasonable to ban transfer of GC mem to C code if all GC mem is
accounted for with gc-typed pointers...

I think the GC is the future of D considering it's embedded to the very core of the language, and compatibility with C code is ... elementary.

Also, thread IDs in ptr references are to the GC as ref counts are to the smart pointers. If you remove the refCount from smart pointers, you end up scanning the whole memory to count them don't you? So then, why remove the thread ID from GC references, if only to look for them in each thread? You slow the GC down by as much total memory there is in all threads vs the avg in a thread, AND you remove parallel collection - by not having the Thread ID in gc ptr references

So you understand that's exactly why the GC has to stop the world, and no gaming platform will ever turn to the default behavior of a language if it stops its world. As a matter of fact, I can't see any other way of fixing the GC than adding the Thread ID in there :/

Reply via email to