On Thursday, 10 March 2016 at 16:46:59 UTC, Jeremy DeHaan wrote:
On Thursday, 10 March 2016 at 15:24:48 UTC, Andrei Alexandrescu wrote:
On 3/9/16 10:40 PM, NX wrote:
I think the best possible improvement for GC is making it lock-free. Currently, GC lock cause some serious performance penalties for
multithreaded code when frequent allocations take place.

I agree. A first step would be easy to do with std.allocator's thread-local freelists. -- Andrei

I was looking into this, but I am slightly hesitant. Should the gc use something in std.experimental? Or should we think that's ok?

I also know that there are some people that think we should avoid using Phobos in druntime.

There's no problem in using std.experimental.* internally, because if the API changes, the one who changes the API will also need to change all internal usages, otherwise his pull request won't compile.

About using Phobos in Druntime - you can't directly import Phobos, since it's files are not present when Druntime is built. The solution is to copy the stuff you need to https://github.com/D-Programming-Language/druntime/tree/master/src/rt/util or some place like this.

Reply via email to