06-Oct-2014 20:51, Dicebot пишет:
https://github.com/D-Programming-Language/druntime/pull/985

Here is initial port result available for early experiments. It can be
compiled with make -f posix.mak GC_TYPE=concurrent and passes the test
suite with only shared library tests disabled (ef20b7a).


Awesome!

There are still many issues to be aware of:
1) Documentation is largely missing. Working on it, reading
@leandro-lucarella-sociomantic old posts
(http://www.llucax.com.ar/blog/blog/tag/understanding%20the%20current%20gc)
may help in the meanwhile
2) Code style differs from Phobos standards. To be fixed soon.


3) Shared library support is completely missing. Proxy infrastructure
similar to one in existing gc needs to be added and I don't know if
actual implementation will work in such environments or more changes
will be needed.

Never used that anyway ;)

4) Deadlock issue (http://www.dsource.org/projects/tango/ticket/2087)
still remains. It is not critical to our code because it almost never
uses threads so no big effort was put into it but this can be huge
problem for any other project.

Just use different LIBC ? For instance, try Musl:
http://www.musl-libc.org/

(Binaries linked statically with Musl can co-exist with GLIBC-based OS just fine)

I might try CDGC+musl sometime soonish anyway, but just letting this idea out in case you are interested.


In general this is very far from something that can be merged upstream
straight away and replace default GC on linux. It can be interesting for
other projects with similar architecture and requirements and probably
helpful for anyone else working on better D GC.

And contributions are welcome via pull requests towards this PR base
branch
(https://github.com/mihails-strasuns-sociomantic/druntime-1/tree/sociomantic-cdgc-wip)
or as e-mail patches (pub...@dicebot.lv)


--
Dmitry Olshansky

Reply via email to