February 06, 2015
On a previous reddit thread, Andrei Alexandrescu said that he will be rewriting the GC based on the core allocator. However there were no more details about this anticipated garbage collector features.

So will the garbage collector be a generational one? will it allow some sort of control over latency of garbage collection ( allowing a low latency option or something similar).

We had this case that we faced with ElasticSearch, where garbage collection firing non-deterministically (non deterministic firing time and non deterministic garbage collection time) causes one node to suddenly be not responding, increasing load over other nodes, which in turn when having higher load go into garbage collection halt one after the other, which causes the whole system to be unresponsive for a good amount of time.

This is an  example of thundering herd anti pattern where one event causes all nodes to go busy.

I am not a java developer but I think that java's GC allows more control over things and ElasticSearch simply didn't use these controls or used them inefficiently.

However, with the increasing trend towards distributed server applications, having more control over the garbage collector's performance parameters would be crucial for pushing D to this area.

February 06, 2015
On Friday, 6 February 2015 at 09:38:48 UTC, Muahmmad Adel wrote:
> On a previous reddit thread, Andrei Alexandrescu said that he will be rewriting the GC based on the core allocator. However there were no more details about this anticipated garbage collector features.
>
> So will the garbage collector be a generational one? will it allow some sort of control over latency of garbage collection ( allowing a low latency option or something similar).
>
> We had this case that we faced with ElasticSearch, where garbage collection firing non-deterministically (non deterministic firing time and non deterministic garbage collection time) causes one node to suddenly be not responding, increasing load over other nodes, which in turn when having higher load go into garbage collection halt one after the other, which causes the whole system to be unresponsive for a good amount of time.
>
> This is an  example of thundering herd anti pattern where one event causes all nodes to go busy.
>
> I am not a java developer but I think that java's GC allows more control over things and ElasticSearch simply didn't use these controls or used them inefficiently.
>
> However, with the increasing trend towards distributed server applications, having more control over the garbage collector's performance parameters would be crucial for pushing D to this area.

Each JVM (Oracle, IBM, HP-UX, ...) has a different set of knobs to turn.

http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html#BABFAFAE

And visual monitoring tools to go alongside them. In Oracle's case

http://visualvm.java.net/

http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html

However it is true that in such types of applications, there are still a few issues to tackle in Java, which D already handles without problems like real generics, value types, painless integration with C and C++ code.

All issues to be fixed latest by Java 10 time-frame (Projects Panama, Valhalla and Sumatra).

--
Paulo
February 06, 2015
On Wed, 2015-02-04 at 12:12 -0800, Walter Bright via Digitalmars-d wrote:
> On 2/4/2015 10:31 AM, Russel Winder via Digitalmars-d wrote:
> > The Go team do not use pull requests at all,
> > everything goes through a review manager, now that is Gerrit.
> > Mayhap D could follow the Go example?
> 
> We'd need an awful good reason to ditch the PR system we use now.

If it works fine. All I was reporting is that The Go team felt the GitHub pull request support was significantly inferior to using Gerrit to manage review and merge of changesets.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


February 06, 2015
On Wed, 2015-02-04 at 12:17 -0800, Andrei Alexandrescu via Digitalmars-d wrote:
> On 2/4/15 10:31 AM, Russel Winder via Digitalmars-d wrote:
> > (**) Yes you read that right, the Go team have switched from Mercurial to Git. This is not because they were unhappy with Mercurial, it is because they were unhappy with Rietveld and switched to Gerrit for their changeset handing. The Go team do not use pull requests at all, everything goes through a review manager, now that is Gerrit. Mayhap D could follow the Go example?
> 
> Not sure what you're proposing. I am positive we are on git and not on mercurial :o). -- Andrei

All I was was saying was that the Go team, along with other teams in Google, feel the GitHub pull request infrastructure is not good enough to enable the sort of review of changesets that leads to consistently high quality code bases. The bit at the end was really asking whether the issues getting codebase changesets reviewed in the D community might be aided by going the same route.
-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


February 06, 2015
On 2/6/15 1:38 AM, Muahmmad Adel wrote:
> On a previous reddit thread, Andrei Alexandrescu said that he will be
> rewriting the GC based on the core allocator. However there were no more
> details about this anticipated garbage collector features.

Rainer Schütze and Martin Nowak are working on significant improvements of D's GC, most of which will be released with 2.067. -- Andrei

February 06, 2015
On Friday, 6 February 2015 at 16:05:47 UTC, Andrei Alexandrescu wrote:
> On 2/6/15 1:38 AM, Muahmmad Adel wrote:
>> On a previous reddit thread, Andrei Alexandrescu said that he will be
>> rewriting the GC based on the core allocator. However there were no more
>> details about this anticipated garbage collector features.
>
> Rainer Schütze and Martin Nowak are working on significant improvements of D's GC, most of which will be released with 2.067. -- Andrei

Sorry for the silly question: is there a PR, or is some work already merged in head?

/P
February 06, 2015
On 2/6/15 4:36 AM, Russel Winder via Digitalmars-d wrote:
> On Wed, 2015-02-04 at 12:17 -0800, Andrei Alexandrescu via Digitalmars-d wrote:
>> On 2/4/15 10:31 AM, Russel Winder via Digitalmars-d wrote:
>>> (**) Yes you read that right, the Go team have switched from
>>> Mercurial to Git. This is not because they were unhappy with
>>> Mercurial, it is because they were unhappy with Rietveld and
>>> switched to Gerrit for their changeset handing. The Go team do not
>>> use pull requests at all, everything goes through a review
>>> manager, now that is Gerrit. Mayhap D could follow the Go example?
>>
>> Not sure what you're proposing. I am positive we are on git and not
>> on mercurial :o). -- Andrei
>
> All I was was saying was that the Go team, along with other teams in
> Google, feel the GitHub pull request infrastructure is not good enough
> to enable the sort of review of changesets that leads to consistently
> high quality code bases. The bit at the end was really asking whether
> the issues getting codebase changesets reviewed in the D community
> might be aided by going the same route.

I see. Not surprising - some teams at Facebook also prefer phabricator over github for reviews (others don't). I'm using both and phabricator is somewhat - but not dramatically - better.

As an leader of this community I must make quick decisions with little information at hand on whether something is an issue, and then be ready to actually act on it. My current assessment is that the github infrastructure is not among our bottlenecks for the time being. This assessment may change if a champion pushes the matter forward.


Andrei

February 06, 2015
On Fri, 06 Feb 2015 16:14:54 +0000, Paolo Invernizzi wrote:

> On Friday, 6 February 2015 at 16:05:47 UTC, Andrei Alexandrescu wrote:
>> On 2/6/15 1:38 AM, Muahmmad Adel wrote:
>>> On a previous reddit thread, Andrei Alexandrescu said that he will be rewriting the GC based on the core allocator. However there were no more details about this anticipated garbage collector features.
>>
>> Rainer Schütze and Martin Nowak are working on significant improvements of D's GC, most of which will be released with 2.067. -- Andrei
> 
> Sorry for the silly question: is there a PR, or is some work already merged in head?

there is constant (albeit small) flow of GC-related changes in commit log, so it seems that some work is going on. i think that big changes are not pushing due to big amount of necessary testing and possible code breakage from not so-well-tested commits.

February 06, 2015
On 2/6/15 8:14 AM, Paolo Invernizzi wrote:
> On Friday, 6 February 2015 at 16:05:47 UTC, Andrei Alexandrescu wrote:
>> On 2/6/15 1:38 AM, Muahmmad Adel wrote:
>>> On a previous reddit thread, Andrei Alexandrescu said that he will be
>>> rewriting the GC based on the core allocator. However there were no more
>>> details about this anticipated garbage collector features.
>>
>> Rainer Schütze and Martin Nowak are working on significant
>> improvements of D's GC, most of which will be released with 2.067. --
>> Andrei
>
> Sorry for the silly question: is there a PR, or is some work already
> merged in head?

A bunch. Just run this query: https://github.com/pulls?q=is%3Apr+user%3AD-Programming-Language+author%3AMartinNowak+is%3Aclosed -- Andrei

February 06, 2015
On 2/6/15 8:25 AM, Andrei Alexandrescu wrote:
> On 2/6/15 8:14 AM, Paolo Invernizzi wrote:
>> On Friday, 6 February 2015 at 16:05:47 UTC, Andrei Alexandrescu wrote:
>>> On 2/6/15 1:38 AM, Muahmmad Adel wrote:
>>>> On a previous reddit thread, Andrei Alexandrescu said that he will be
>>>> rewriting the GC based on the core allocator. However there were no
>>>> more
>>>> details about this anticipated garbage collector features.
>>>
>>> Rainer Schütze and Martin Nowak are working on significant
>>> improvements of D's GC, most of which will be released with 2.067. --
>>> Andrei
>>
>> Sorry for the silly question: is there a PR, or is some work already
>> merged in head?
>
> A bunch. Just run this query:
> https://github.com/pulls?q=is%3Apr+user%3AD-Programming-Language+author%3AMartinNowak+is%3Aclosed
> -- Andrei

Apparently choosing two authors doesn't work, here are Rainer's commits: https://github.com/pulls?q=is%3Apr+user%3AD-Programming-Language+author%3Arainers+is%3Aclosed -- Andrei