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

Reply via email to