I was also going to look at that too but have lots more on my todo list first. I was going to do that after creating the GROOVY_2_6_X branch. I'll try to do the GROOVY_2_6_X branch today which then leaves master ready for jdk8 only and parrot as the default - happy for you to look at this Daniel.

I was initially going to allow turning back on the antlr2 parser with a switch (-PuseAntlr2=true or similar, because I thought that would be the smaller change) with a view to removing the old parser altogether as a second step possibly in a later version. But this topic was discussed before and I think the general consensus was that if it greatly simplified our codebase just to remove the old parser, then we should consider going down that path. In the Apache spirit of do-ocracy, I'll let you see what looks like the best way forward as you start doing these steps.

Cheers, Paul.


On Fri, Apr 21, 2017 at 10:57 AM, 孙 岚 <realbluesun@hotmail.com> wrote:

Hi John,


       You can enable Parrot and run its related tests by passing `-PuseAntlr4=true` to gradle. Since the new parser is not mature enough in the past, we had to disable it by default to avoid some failed tests.

        Currently Parrot can parse all groovy source codes of Apache Groovy and other famous groovy projects(e.g. Grails, Gradle, Spock, Geb) properly, so I am going to set aside some time to enable Parrot by default in the master branch.


Cheers,

Daniel.Sun


发件人: 孙 岚 <realbluesun@hotmail.com>
发送时间: 2017年4月21日 0:11
收件人: dev@groovy.apache.org
主题: About the performance between master and GROOVY_2_5_X
 

Hi all,


      I noticed that the performance of master is better than GROOVY_2_5_X.

      About 17% time saved when running tests in the TeamCity CI instance:
master costs 18m:55s(TeamCity CI, Parrot disabled)
http://ci.groovy-lang.org/viewLog.html?buildId=38801&tab=buildResultsDiv&buildTypeId=Groovy_Jdk8Build_2
GROOVY_2_5_X costs 22m:51s(TeamCity CI, without Parrot)
http://ci.groovy-lang.org/viewLog.html?buildId=38787&tab=buildResultsDiv&buildTypeId=Groovy_Jdk8Build_2

      And about 37% time saved when running tests in the Travis CI instance:
master costs 20 min 25 sec(Travis CI, Parrot enabled)
https://travis-ci.org/apache/groovy/builds/223991099
GROOVY_2_5_X costs 32 min 52 sec(Travis CI, without Parrot)
https://travis-ci.org/apache/groovy/builds/223816724

      Can we infer that the new parser Parrot does not impact the performance or even improve the performance somehow?

Cheers,
Daniel.Sun