Rainer Podlas created GROOVY-10454:
--------------------------------------

             Summary: Performance issue with "Parrot" parser in Groovy 3.x
                 Key: GROOVY-10454
                 URL: https://issues.apache.org/jira/browse/GROOVY-10454
             Project: Groovy
          Issue Type: Bug
          Components: parser-antlr4
    Affects Versions: 3.0.9
         Environment: OpenJdk on Windows & Linux
            Reporter: Rainer Podlas


We have recently upgraded from Groovy 2.4.3 to Groovy 3.0.9 and are now facing 
a big performance issue when loading/parsing our Groovy sources.

In one concrete example we talk about 60 Groovy source files. Loading them with 
Groovy 2.4.3 takes < 40 seconds, whereas loading the same sources with Groovy 
3.0.9 takes twice the time (~1:20). In another example we notice increased 
parsing duration from ~ 1,5 minutes to 3 minutes, again a doubling of the 
duration.

In the release notes I read about the new "Parrot" parser, and indeed, once I 
disable it via "{*}groovy.antlr4=false{*}" the parsing duration is "back to 
normal".

That means for now we have a workaround, but as the new "Parrot" parser is 
going to be the one and only in Groovy 4.x we will be facing a problem in the 
new future ;-(

Is this performance drop a known issue? I could not find any related tickets?

Please note that we are loading the Groovy sources via the 
"{*}groovy.lang.GroovyClassLoader{*}" and the method call: "{*}loadClass(path, 
true, false, true);{*}"

Looking forward to receiving feedback on that.

Thank you very much!

Kind regards, Rainer



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to