You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@groovy.apache.org by 孙 岚 <re...@hotmail.com> on 2017/04/21 00:57:10 UTC

答复: About the performance between master and GROOVY_2_5_X

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

________________________________
发件人: 孙 岚 <re...@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


Re: 答复: About the performance between master and GROOVY_2_5_X

Posted by Paul King <pa...@asert.com.au>.
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, 孙 岚 <re...@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
> ------------------------------
> *发件人:* 孙 岚 <re...@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
>
>