You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Daniel Sun (Jira)" <ji...@apache.org> on 2020/07/05 23:25:00 UTC

[jira] [Comment Edited] (GROOVY-9588) groovyCompile 6x slower in 3.0.4 than 2.5.6

    [ https://issues.apache.org/jira/browse/GROOVY-9588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151373#comment-17151373 ] 

Daniel Sun edited comment on GROOVY-9588 at 7/5/20, 11:24 PM:
--------------------------------------------------------------

[~erichelgeson] [~davydotcom] We have been trying to improve the performance of the new Parrot parser, but there is no workaround for the DFA cache, which is the design of antlr4.

Some years ago, I discussed with Sam Harwell(co-author of antlr4) about the issue that the DFA cache may cause OOME and I suggested to adjust the algorithm of caching, e.g. LRU, but the suggestion was evaluated as not feasible eventually. ( See also [https://github.com/antlr/antlr4/issues/499] )


was (Author: daniel_sun):
[~erichelgeson] [~davydotcom] We have been trying to improve the performance of the new Parrot parser, but there is no workaround for the DFA cache, which is the design of antlr4.

Some years ago, I discussed with Sam Harwell(co-author of antlr4) about the issue that the DFA cache may cause OOME and I suggested to adjust the algorithm of caching, e.g. LRU, but the suggestion was evaluated as not feasible eventually.

> groovyCompile 6x slower in 3.0.4 than 2.5.6
> -------------------------------------------
>
>                 Key: GROOVY-9588
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9588
>             Project: Groovy
>          Issue Type: Bug
>          Components: parser-antlr4
>    Affects Versions: 3.0.4
>            Reporter: Eric Helgeson
>            Assignee: Daniel Sun
>            Priority: Major
>             Fix For: 4.0.0-alpha-1, 3.0.5
>
>
> _It was suggested I open an issue here as well. I am a user of groovy so do not know a lot of the details that could help diagnose. I would be happy to gather them if told what was required._
> [https://github.com/grails/grails-core/issues/11571]
> We are upgrading a large Grails app with 400+ controllers, 550+ services, 350 domains, 4000 files with 950k loc to Grails 4.1.0.M1 + Gradle 5.6.4.
> Using Gradle 5.6.4 with Java 8 & Grails 4.0.3(Groovy 2.5) a clean/groovyCompile took approximately 5 minutes.
>  
> Using Gradle 5.6.4 with Java 11 & Grails 4.1.0.M1(Groovy 3.0.4) a {{clean}}/{{groovyCompile}} takes 33 minutes on a 2019 MBP w/ 2.4 GHz 8-Core Intel Core i9 & 64gb of RAM.
> I have tried giving the groovyCompile task 16/32gb of ram, with no noticeable change. I've also tried -Dgroovy.antlr4=false - but this gave other compile time errors I did not see with it set to true (so was unable to have a full successful compile)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)