[ https://issues.apache.org/jira/browse/GROOVY-9785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-9785. ----------------------------- > Performance degradation of groovysh for long scripts > ---------------------------------------------------- > > Key: GROOVY-9785 > URL: https://issues.apache.org/jira/browse/GROOVY-9785 > Project: Groovy > Issue Type: Bug > Components: Groovysh, parser-antlr4 > Affects Versions: 3.0.6 > Reporter: Stephen Mallette > Assignee: Eric Milles > Priority: Major > Attachments: groovy-2.5.13.jfr, groovy-3.0.6.jfr, > test-groovysh-incomplete-multiline.groovy > > > This issue was initially raised on the groovy-users mailing list > ([here|https://lists.apache.org/thread.html/rb3ccd13570642038e822bd3e430999e0f5f430543edfdae92e895c0f%40%3Cusers.groovy.apache.org%3E]). > The general issue is that long scripts pasted to groovysh in 3.x are > parsed/read much more slowly than prior 2.x versions. From the mailing list: > {code} > groovy:000> start = System.currentTimeMillis() > ===> 1603105239050 > groovy:000> 1 + 10 + > groovy:001> 1 + 10 + > groovy:002> 1 + 10 + > groovy:003> 1 + 10 + > groovy:004> 1 + 10 + > groovy:005> 1 + 10 + > groovy:006> 1 + 10 + > ... > groovy:495> 1 + 10 + > groovy:496> 1 + 10 + > groovy:497> 1 + 10 > ===> 5478 > groovy:000> System.currentTimeMillis() - start > ===> 1193 > and on 3.0.6 I got: > groovy:000> start = System.currentTimeMillis() > ===> 1603105244825 > groovy:000> 1 + 10 + > groovy:001> 1 + 10 + > groovy:002> 1 + 10 + > groovy:003> 1 + 10 + > groovy:004> 1 + 10 + > groovy:005> 1 + 10 + > groovy:006> 1 + 10 + > ... > groovy:495> 1 + 10 + > groovy:496> 1 + 10 + > groovy:497> 1 + 10 > ===> 5478 > groovy:000> System.currentTimeMillis() - start > ===> 31876 > {code} > Note that JFRs are attached - perhaps they will shed some light on what is > happening to someone familiar with the code. -- This message was sent by Atlassian Jira (v8.20.10#820010)