You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Rainer Podlas (Jira)" <ji...@apache.org> on 2022/02/16 08:56:00 UTC

[jira] [Commented] (GROOVY-10454) Performance issue with "Parrot" parser in Groovy 3.x

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

Rainer Podlas commented on GROOVY-10454:
----------------------------------------

Are there any news on this topic? Anything else that is required from us to investigate that issue? Thank you.

> 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
>            Priority: Major
>
> 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 near 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)