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/20 16:11:11 UTC

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 John Wagenleitner <jo...@gmail.com>.
On Thu, Apr 20, 2017 at 9:11 AM, 孙 岚 <re...@hotmail.com> wrote:

> 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?
>
>
One possible other difference is that master is using Gradle v3.5 and 2_5_X
is 3.4, though that probably would not account for such a big difference.

Just as a side note, does Parrot need to be included as a subproject in
settings.gradle?  I see the Travis build sets the -PuseAntlr4=true, but is
that really enough to enable Parrot for all compilation and run it's tests?

Re: About the performance between master and GROOVY_2_5_X

Posted by John Wagenleitner <jo...@gmail.com>.
Hi Daniel,

Thanks, I had missed that.  How do the tests under
"subprojects/groovy-parser-antlr4/src/test" get run or are they not enabled
on purpose?

John

On Thu, Apr 20, 2017 at 4:07 PM, 孙 岚 <re...@hotmail.com> wrote:

> Hi John,
>
> Parrot will be enabled for all projects:
> https://github.com/apache/groovy/blob/master/subprojects/groovy-parser-
> antlr4/build.gradle#L51
>
> Cheers,
> Daniel.Sun
>
>
> -------- 原始邮件 --------
> 主题:About the performance between master and GROOVY_2_5_X
> 发件人:孙 岚
> 收件人:dev@groovy.apache.org
> 抄送:
>
>
>
> 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
>
>

回复:About the performance between master and GROOVY_2_5_X

Posted by 孙 岚 <re...@hotmail.com>.
Hi John,

Parrot will be enabled for all projects:
https://github.com/apache/groovy/blob/master/subprojects/groovy-parser-antlr4/build.gradle#L51

Cheers,
Daniel.Sun


-------- 原始邮件 --------
主题:About the performance between master and GROOVY_2_5_X
发件人:孙 岚
收件人:dev@groovy.apache.org
抄送:



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

答复: About the performance between master and GROOVY_2_5_X

Posted by 孙 岚 <re...@hotmail.com>.
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>.
OK, the GROOVY_2_6_X branch is created. It possibly needs a little tidy up
and I haven't attempted merging the backport yet. But master is all set for
jdk8+ and changes to make parrot the default.

Cheers, Paul.


On Fri, Apr 21, 2017 at 2:57 PM, 孙 岚 <re...@hotmail.com> wrote:

> Hi Paul,
>
>
>        I'll set Parrot as the default parser when you finish creating
> GROOVY_2_6_X. In addition, as you suggested, I'll provide some option to
> turn back to the old parser.
>
>
> P.S. I failed to receive mail from the mailing list... so I have to reply
> my own email...
>
>
> 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
>
>

答复: About the performance between master and GROOVY_2_5_X

Posted by 孙 岚 <re...@hotmail.com>.
Hi Paul,


       I'll set Parrot as the default parser when you finish creating GROOVY_2_6_X. In addition, as you suggested, I'll provide some option to turn back to the old parser.


P.S. I failed to receive mail from the mailing list... so I have to reply my own email...


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