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.