digitalmars.D - How to contribute to GC?
- Kira Backes (24/24) Jan 09 2014 Dear D users,
- Andrei Alexandrescu (5/10) Jan 10 2014 Well you've contributed the inspirational part, per my last post :o). In...
- Kira Backes (18/22) Jan 10 2014 Great news! Then please tell me as soon as I can help with
- Szymon Gatner (3/5) Jan 10 2014 Could you post your benchmark code so I can see results on my
- Sean Kelly (3/9) Jan 10 2014 Yep. Depending on where the delays are, it might be possible to
- Zoadian (7/31) Jan 10 2014 for game development you might want to read about 'entity
- Szymon Gatner (4/10) Jan 10 2014 I think it is safe to assume that she is aware of this rather
- Dicebot (3/6) Jan 10 2014 AFAIK it is on hold because porting demands more time Leandro can
- Jacob Carlborg (13/34) Jan 10 2014 As far as I know there are two efforts on improving the GC:
- Rainer Schuetze (12/21) Jan 10 2014 I have just rebased and recreated the precise GC fork of druntime the
- Andrei Alexandrescu (6/17) Jan 10 2014 Thanks! If there's anything major the community could help with right
- John Colvin (6/30) Jan 10 2014 Is there perhaps the need for a curated* list of top priority
Dear D users, I think the GC is the one are that is holding D the most back, so I’d like to help it. But I have no idea how. No, I’m not talking about the technical stuff, rather about the organizational stuff and the contribution workflow. It seems like sociomantics wanted to port CDGC to D2 but I did not see any work following that, they also wanted to refactor the existing GC but I also don’t think much has been done there. Then there is also a precise GC. It exists, but is anything planned for this to be included? So, I’d really like to help with the GC but I have no idea how. - There is no overview of what people are doing on the GC or their GC forks - I have basically no idea what of the current work will be included into Phobos, so I don’t what to base my contribution on - I don’t know which ideas I could work on so that they eventually will be included - Finally, I don’t know what the core D team is already planning or what their vision is, what they’re planning themselves, what they want to see in D, what they will accept as contribution Maybe we need a project page or a group or something for the GC? Where we can collect all ideas, see who’s working on what, see what’s wanted and so on. rgds, Kira Backes
Jan 09 2014
On 1/9/14 11:26 PM, Kira Backes wrote:Dear D users, I think the GC is the one are that is holding D the most back, so I’d like to help it. But I have no idea how. No, I’m not talking about the technical stuff, rather about the organizational stuff and the contribution workflow.Well you've contributed the inspirational part, per my last post :o). In truth I'd be planning it for a while, but since you just wrote this was a good time. Andrei
Jan 10 2014
On Friday, 10 January 2014 at 08:04:49 UTC, Andrei Alexandrescu wrote:Well you've contributed the inspirational part, per my last post :o). In truth I'd be planning it for a while, but since you just wrote this was a good time. AndreiGreat news! Then please tell me as soon as I can help with *anything* (be it test-driving your implementation, documentation, writing unit tests, fixing bugs, writing articles and maybe even implementing a part of it, and so on) I’ve done some testing with the current GC and the current stop-the-world latency is acceptable until about 50,000 objects, but I’ll probably need a lot more than that for the MMORPG server. Right now I’m using the GC for everything, which is the right approach I think to not do premature optimizations ;-) When the project is about to go live (scheduled end of 2014) I hope the GC is improved enough so it can just stay like it is (and I’d gladly publish benchmark numbers and write articles about the improvements). Only as a last resort would I move resources to manual memory management. So I really hope we can improve this until the end of 2014 and as I said I’ll help with anything I can. rgds, Kira Backes
Jan 10 2014
On Friday, 10 January 2014 at 08:15:47 UTC, Kira Backes wrote:I’ve done some testing with the current GC and the current stop-the-world latency is acceptable until about 50,000 objects,Could you post your benchmark code so I can see results on my systems (Win7 64 and OS X). What platform did you test?
Jan 10 2014
On Friday, 10 January 2014 at 10:57:06 UTC, Szymon Gatner wrote:On Friday, 10 January 2014 at 08:15:47 UTC, Kira Backes wrote:Yep. Depending on where the delays are, it might be possible to tune things a bit until whatever new design is finished.I’ve done some testing with the current GC and the current stop-the-world latency is acceptable until about 50,000 objects,Could you post your benchmark code so I can see results on my systems (Win7 64 and OS X). What platform did you test?
Jan 10 2014
for game development you might want to read about 'entity component systems' and 'data oriented design'. some links: http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ http://blog.lmorchard.com/2013/11/27/entity-component-system http://www.randygaul.net/2013/05/20/component-based-engine-design/ On Friday, 10 January 2014 at 08:15:47 UTC, Kira Backes wrote:On Friday, 10 January 2014 at 08:04:49 UTC, Andrei Alexandrescu wrote:Well you've contributed the inspirational part, per my last post :o). In truth I'd be planning it for a while, but since you just wrote this was a good time. AndreiGreat news! Then please tell me as soon as I can help with *anything* (be it test-driving your implementation, documentation, writing unit tests, fixing bugs, writing articles and maybe even implementing a part of it, and so on) I’ve done some testing with the current GC and the current stop-the-world latency is acceptable until about 50,000 objects, but I’ll probably need a lot more than that for the MMORPG server. Right now I’m using the GC for everything, which is the right approach I think to not do premature optimizations ;-) When the project is about to go live (scheduled end of 2014) I hope the GC is improved enough so it can just stay like it is (and I’d gladly publish benchmark numbers and write articles about the improvements). Only as a last resort would I move resources to manual memory management. So I really hope we can improve this until the end of 2014 and as I said I’ll help with anything I can. rgds, Kira Backes
Jan 10 2014
On Friday, 10 January 2014 at 23:13:05 UTC, Zoadian wrote:for game development you might want to read about 'entity component systems' and 'data oriented design'. some links: http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ http://blog.lmorchard.com/2013/11/27/entity-component-system http://www.randygaul.net/2013/05/20/component-based-engine-design/I think it is safe to assume that she is aware of this rather known approach given that she is doing mmorpg and performance testing gc already.
Jan 10 2014
On Friday, 10 January 2014 at 07:26:37 UTC, Kira Backes wrote:It seems like sociomantics wanted to port CDGC to D2 but I did not see any work following that, they also wanted to refactor the existing GC but I also don’t think much has been done there.AFAIK it is on hold because porting demands more time Leandro can currently spend on it. Ask him for details.
Jan 10 2014
On 2014-01-10 08:26, Kira Backes wrote:Dear D users, I think the GC is the one are that is holding D the most back, so I’d like to help it. But I have no idea how. No, I’m not talking about the technical stuff, rather about the organizational stuff and the contribution workflow. It seems like sociomantics wanted to port CDGC to D2 but I did not see any work following that, they also wanted to refactor the existing GC but I also don’t think much has been done there. Then there is also a precise GC. It exists, but is anything planned for this to be included? So, I’d really like to help with the GC but I have no idea how. - There is no overview of what people are doing on the GC or their GC forksAs far as I know there are two efforts on improving the GC: * Leandro Lucarella (sociomantics as you mentioned above) - Working on a concurrent GC. http://dconf.org/2013/talks/lucarella.html * Rainer Schütze - Working on a concurrent GC. http://dconf.org/2013/talks/schuetze.html- I have basically no idea what of the current work will be included into Phobos, so I don’t what to base my contribution on - I don’t know which ideas I could work on so that they eventually will be included - Finally, I don’t know what the core D team is already planning or what their vision is, what they’re planning themselves, what they want to see in D, what they will accept as contributionAs far as I know nothing is decided. We all just know we want a better GC. I have not heard anything from the core D team. What's missing is someone to finish the work and create a pull request.Maybe we need a project page or a group or something for the GC? Where we can collect all ideas, see who’s working on what, see what’s wanted and so on.That would probably be a good idea. Perhaps on the wiki http://wiki.dlang.org/ -- /Jacob Carlborg
Jan 10 2014
On 10.01.2014 08:26, Kira Backes wrote:Dear D users, I think the GC is the one are that is holding D the most back, so I’d like to help it. But I have no idea how. No, I’m not talking about the technical stuff, rather about the organizational stuff and the contribution workflow. It seems like sociomantics wanted to port CDGC to D2 but I did not see any work following that, they also wanted to refactor the existing GC but I also don’t think much has been done there. Then there is also a precise GC. It exists, but is anything planned for this to be included?I have just rebased and recreated the precise GC fork of druntime the other day: https://github.com/rainers/druntime/commits/gcx_precise2 I hope this has commits that are better reviewable than the last version. I was planning to create a pull request just to make it more public and get the ball rolling. What's blocking the inclusion is that the compiler does not generate proper type information. This pull request is trying to fix it: https://github.com/D-Programming-Language/dmd/pull/2480 but it often breaks with other commits. Unfortunately it never received any feedback apart from some code-styling notes.
Jan 10 2014
On 1/10/14 12:06 PM, Rainer Schuetze wrote:I have just rebased and recreated the precise GC fork of druntime the other day: https://github.com/rainers/druntime/commits/gcx_precise2 I hope this has commits that are better reviewable than the last version. I was planning to create a pull request just to make it more public and get the ball rolling. What's blocking the inclusion is that the compiler does not generate proper type information. This pull request is trying to fix it: https://github.com/D-Programming-Language/dmd/pull/2480 but it often breaks with other commits. Unfortunately it never received any feedback apart from some code-styling notes.Thanks! If there's anything major the community could help with right now, it would be reviewing https://github.com/D-Programming-Language/dmd/pull/2480 and then https://github.com/rainers/druntime/commits/gcx_precise2. Andrei
Jan 10 2014
On Friday, 10 January 2014 at 20:22:45 UTC, Andrei Alexandrescu wrote:On 1/10/14 12:06 PM, Rainer Schuetze wrote:Is there perhaps the need for a curated* list of top priority pulls that need reviewing? *by yourself and walter, with perhaps a few other contributors who pull some weight.I have just rebased and recreated the precise GC fork of druntime the other day: https://github.com/rainers/druntime/commits/gcx_precise2 I hope this has commits that are better reviewable than the last version. I was planning to create a pull request just to make it more public and get the ball rolling. What's blocking the inclusion is that the compiler does not generate proper type information. This pull request is trying to fix it: https://github.com/D-Programming-Language/dmd/pull/2480 but it often breaks with other commits. Unfortunately it never received any feedback apart from some code-styling notes.Thanks! If there's anything major the community could help with right now, it would be reviewing https://github.com/D-Programming-Language/dmd/pull/2480 and then https://github.com/rainers/druntime/commits/gcx_precise2. Andrei
Jan 10 2014