Dne 10.3.2016 v 18:15 ZombineDev via Digitalmars-d napsal(a):
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.
But we allready need existing D compiler to build D frontend, so maybe
we can use this full D compiler for building druntime in the future?