On Tuesday, 27 May 2014 at 02:52:48 UTC, Etienne Cimon wrote:
I've been looking at the GC and found that the main problem is that there's no clear information about the pointers. At least smart pointers have some info inside them but GC pointers are completely plain 4-8 bytes and nothing else.

The GC is very fast even if it needs to lookup this info but I believe it wouldn't stay low-cpu in a 128 GB of RAM server with 3GB/s of memory traffic with a wide range of memory segment sizes.

I think a decent proposal would be to
1- Introduce a new GC pointer type, e.g. a void' (its an apostrophee) used also in classes which implicitely converts to void* by removing the last bytes (which ontain the info). This pointer contains the Pool ID of the underlying memory

I think in SafeD it might be possible to just make this
automatic.  I don't see it ever happening in D proper though.
What happens if I pass a dynamic array of pointers to memset?

Reply via email to