Jump to page: 1 211  
Page
Thread overview
D2 port of Sociomantic CDGC available for early experiments
Oct 06, 2014
Dicebot
Oct 06, 2014
ketmar
Oct 06, 2014
Kiith-Sa
Oct 06, 2014
Dicebot
Oct 07, 2014
Leandro Lucarella
Oct 08, 2014
deadalnix
Oct 08, 2014
Rainer Schuetze
Oct 30, 2014
Martin Nowak
Oct 30, 2014
Rainer Schuetze
Oct 07, 2014
Dmitry Olshansky
Oct 07, 2014
Walter Bright
Oct 07, 2014
Leandro Lucarella
Oct 08, 2014
Walter Bright
Oct 08, 2014
eles
Oct 08, 2014
Rory McGuire
Oct 08, 2014
ketmar
Oct 08, 2014
Paolo Invernizzi
Oct 08, 2014
ketmar
Oct 08, 2014
ketmar
Oct 08, 2014
Vladimir Panteleev
Oct 08, 2014
Walter Bright
Oct 08, 2014
ketmar
Oct 08, 2014
ketmar
Oct 08, 2014
Leandro Lucarella
Oct 08, 2014
Walter Bright
Oct 08, 2014
Rainer Schuetze
Oct 08, 2014
Walter Bright
Oct 08, 2014
Rainer Schuetze
Oct 09, 2014
Jacob Carlborg
Oct 09, 2014
Rainer Schuetze
Oct 09, 2014
Walter Bright
Oct 09, 2014
Rainer Schuetze
Oct 10, 2014
Walter Bright
Oct 10, 2014
Rainer Schuetze
Oct 10, 2014
Walter Bright
Oct 10, 2014
Dicebot
Oct 09, 2014
Jacob Carlborg
Oct 09, 2014
Rainer Schuetze
Oct 09, 2014
David Nadlinger
Oct 10, 2014
Rainer Schuetze
Oct 09, 2014
Jacob Carlborg
Oct 10, 2014
Rainer Schuetze
Oct 08, 2014
David Nadlinger
Oct 09, 2014
Sean Kelly
Oct 09, 2014
Dicebot
Oct 10, 2014
Walter Bright
Oct 11, 2014
Leandro Lucarella
Oct 11, 2014
Walter Bright
Oct 11, 2014
Walter Bright
Oct 11, 2014
dennis luehring
Oct 11, 2014
Paulo Pinto
Oct 11, 2014
Leandro Lucarella
Oct 11, 2014
Walter Bright
Oct 12, 2014
Leandro Lucarella
Oct 12, 2014
Leandro Lucarella
Oct 12, 2014
Walter Bright
Oct 12, 2014
Rainer Schuetze
Oct 12, 2014
Jacob Carlborg
Oct 12, 2014
Leandro Lucarella
Oct 12, 2014
Andrej Mitrovic
Oct 12, 2014
Leandro Lucarella
Oct 14, 2014
Regan Heath
Oct 16, 2014
Dylan Knutson
Oct 16, 2014
ketmar
Oct 16, 2014
Sean Kelly
Oct 16, 2014
ketmar
Oct 16, 2014
Ben Boeckel
Oct 16, 2014
Regan Heath
Oct 16, 2014
Leandro Lucarella
Oct 17, 2014
thedeemon
Oct 17, 2014
Martin Nowak
Oct 21, 2014
Sebastiaan Koppe
Oct 16, 2014
Leandro Lucarella
Oct 17, 2014
Regan Heath
Oct 17, 2014
Leandro Lucarella
Oct 17, 2014
Regan Heath
Oct 17, 2014
Leandro Lucarella
Oct 17, 2014
Andrej Mitrovic
Oct 23, 2014
Kagamin
Oct 23, 2014
ketmar
Oct 20, 2014
Regan Heath
Oct 20, 2014
Sean Kelly
Oct 21, 2014
Regan Heath
Oct 21, 2014
Leandro Lucarella
Oct 22, 2014
Regan Heath
Oct 23, 2014
Leandro Lucarella
Oct 23, 2014
Regan Heath
Oct 23, 2014
Leandro Lucarella
Oct 08, 2014
Vladimir Panteleev
Oct 08, 2014
Walter Bright
Oct 23, 2014
Kagamin
Oct 23, 2014
Dicebot
Oct 23, 2014
Kagamin
Oct 23, 2014
Dicebot
Oct 23, 2014
Kagamin
Oct 23, 2014
Mathias LANG
Oct 23, 2014
Kagamin
Oct 23, 2014
Sean Kelly
Oct 24, 2014
Kagamin
Oct 24, 2014
Sean Kelly
Oct 27, 2014
Kagamin
Oct 17, 2014
Marc Schütz
Oct 30, 2014
Martin Nowak
October 06, 2014
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).

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.
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.

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 (public@dicebot.lv)
October 06, 2014
On Mon, 06 Oct 2014 16:51:06 +0000
Dicebot via Digitalmars-d-announce
<digitalmars-d-announce@puremagic.com> wrote:

> 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).
wow, going to try it NOW! ;-)


October 06, 2014
On Monday, 6 October 2014 at 16:51:07 UTC, Dicebot wrote:
> 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).
>
> 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.
> 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.
>
> 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 (public@dicebot.lv)

Can't really test this right now, just want to say that it's awesome that someone is working on this and I really hope this can (eventually) get merged.
October 06, 2014
On 10/6/14, 9:51 AM, Dicebot wrote:
> https://github.com/D-Programming-Language/druntime/pull/985

This is awesome. I recall Don had some solid performance numbers for it in his talk, do you have any in the context of D2? -- Andrei
October 06, 2014
On Monday, 6 October 2014 at 17:23:55 UTC, Andrei Alexandrescu wrote:
> On 10/6/14, 9:51 AM, Dicebot wrote:
>> https://github.com/D-Programming-Language/druntime/pull/985
>
> This is awesome. I recall Don had some solid performance numbers for it in his talk, do you have any in the context of D2? -- Andrei

No, I didn't get to running any perf test so far. Did PR as soon as test suite passes and commits looked sane. Will do eventually. Any specific project you are interested in?

I'd love to see the impact on vibe.d but it is subject to threading/malloc issue right now.
October 06, 2014
On 10/6/14, 10:29 AM, Dicebot wrote:
> On Monday, 6 October 2014 at 17:23:55 UTC, Andrei Alexandrescu wrote:
>> On 10/6/14, 9:51 AM, Dicebot wrote:
>>> https://github.com/D-Programming-Language/druntime/pull/985
>>
>> This is awesome. I recall Don had some solid performance numbers for
>> it in his talk, do you have any in the context of D2? -- Andrei
>
> No, I didn't get to running any perf test so far. Did PR as soon as test
> suite passes and commits looked sane. Will do eventually. Any specific
> project you are interested in?
>
> I'd love to see the impact on vibe.d but it is subject to
> threading/malloc issue right now.

vibe.d would be great to test. Generally any realistic project would be relevant. -- Andrei
October 07, 2014
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 (public@dicebot.lv)


-- 
Dmitry Olshansky
October 07, 2014
On 10/6/2014 9:51 AM, Dicebot wrote:
> https://github.com/D-Programming-Language/druntime/pull/985

Thank you. This is great progress!

I understand the caveats, but can this be put into a shape where it can be pulled despite being a work in progress? I.e. have the code be disabled by default? That will help encourage the community to help out with the gaps.

October 07, 2014
On Monday, 6 October 2014 at 16:51:07 UTC, Dicebot wrote:
> 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

This is fantastic, thanks and congratulations! :-)

I'm afraid I'm getting a build error when trying to build lib/libdruntime-linux64so.a.  No obvious reasons in the log file, and copy-pasting the dmd call directly into the console doesn't shed any light (it doesn't output any errors, but nor does it create the output file; there are a lot of Deprecation warnings, but those are present also when trying to build the regular runtime).

I'm on Ubuntu 14.04, just for reference, and trying to build this with a freshly-built from-git-master dmd.
October 07, 2014
Walter Bright, el  7 de October a las 13:06 me escribiste:
> On 10/6/2014 9:51 AM, Dicebot wrote:
> >https://github.com/D-Programming-Language/druntime/pull/985
> 
> Thank you. This is great progress!
> 
> I understand the caveats, but can this be put into a shape where it can be pulled despite being a work in progress? I.e. have the code be disabled by default? That will help encourage the community to help out with the gaps.

Yes, I think that's the best approach too. Ideally this should be
configurable at runtime as Marting suggested, so ANYONE can try it with
their applications by just running it like this:
D_GC=concurrent=1 ./myapp

Then bugs can be filled more easily and people can work on fixing them more easily too. At some point I'd like to see the current GC and the concurrent GC merged, the concurrent GC already support disabling the concurrency. Both GCs diverged with time and both have (different) improvements over the common parent, and it will be a shame to lose any of them.

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
Y Gloria Carrá, Gloria Estephan, Gloria Gaynor y Gloria Trevi.
	-- Peperino Pómoro
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11