The performance issue can be reproduced by the following script, which is placed under "nextflow-master\modules\nextflow" directory:
(GenerateStubs.groovy) ``` def ant = new groovy.ant.AntBuilder() ant.project.baseDir = new File('.') ant.delete(dir: 'build') ant.mkdir(dir: 'build') ant.taskdef(name: 'generateStubs', classname: 'org.codehaus.groovy.ant.GenerateStubsTask') def b = System.currentTimeMillis() ant.generateStubs(srcdir: 'src', destdir: 'build') def e = System.currentTimeMillis() println "${(e - b) / 1000}s elapsed" def buildDir = new File(ant.project.baseDir, "build") println buildDir.list() ``` The steps to reproduce the performance issue: ``` D:\_TEMP\nextflow-master\modules\nextflow>set JAVA_OPTS=-Xms2g -Xmx2g -Dgroovy.antlr4.cache.threshold=600 -Dgroovy.antlr4=false D:\_TEMP\nextflow-master\modules\nextflow>groovy GenerateStubs.groovy [delete] Deleting directory D:\_TEMP\nextflow-master\modules\nextflow\build [mkdir] Created dir: D:\_TEMP\nextflow-master\modules\nextflow\build [generateStubs] Generating 611 Java stubs to D:\_TEMP\nextflow-master\modules\nextflow\build [generateStubs] Generated 779 Java stub(s) 7.977s elapsed [FunctionalTests.java, groovy, misc, nextflow, test] D:\_TEMP\nextflow-master\modules\nextflow>set JAVA_OPTS=-Xms2g -Xmx2g -Dgroovy.antlr4.cache.threshold=600 -Dgroovy.antlr4=true D:\_TEMP\nextflow-master\modules\nextflow>groovy GenerateStubs.groovy [delete] Deleting directory D:\_TEMP\nextflow-master\modules\nextflow\build [mkdir] Created dir: D:\_TEMP\nextflow-master\modules\nextflow\build [generateStubs] Generating 611 Java stubs to D:\_TEMP\nextflow-master\modules\nextflow\build [generateStubs] Generated 779 Java stub(s) 81.572s elapsed [FunctionalTests.java, groovy, misc, nextflow, test] D:\_TEMP\nextflow-master\modules\nextflow> ``` I am quite curious about the antlr2 parser result "7.977s" because "57.177s" cost when we parsed all the groovy source files with antlr2 parser[1] Cheers, Daniel.Sun [1] http://groovy.329449.n5.nabble.com/Groovy-3-very-slow-stub-generation-tp5762698p5764332.html ----- Apache Groovy committer & PMC member Blog: http://blog.sunlan.me Twitter: @daniel_sun -- Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html