About the additional resolving phase of compilation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

About the additional resolving phase of compilation

Daniel.Sun
Hi all,

      As we all know, resolving is quite complicated and time consuming in
Groovy, but the resolving is applied twice currently. The additional
resolving is applied here:
https://github.com/apache/groovy/blob/master/src/main/java/org/codehaus/groovy/control/CompilationUnit.java#L581-L584

      If the additional resoving is removed, only one test fails.

      Could you recall why we have to resolve twice? And can we try to apply
resolving only once for better performance?

Cheers,
Daniel.Sun




-----
Daniel Sun
Apache Groovy committer
Blog: http://blog.sunlan.me 
Twitter: @daniel_sun

--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html
Daniel Sun
Apache Groovy committer

Blog: http://blog.sunlan.me
Twitter: @daniel_sun
Reply | Threaded
Open this post in threaded view
|

Re: About the additional resolving phase of compilation

paulk_asert
I think that is worth exploring. There was a valid reason but I can't remember just now.
I'll try to jog my memory from the code/mailing archives.

FYI, I was thinking in fact we might have to go the other way. And repeat also Canonical.
That way our Java stubs would be much better for joint compilation. We'd have to
make a whole lot of steps idempotent before that would work though. If we do it right,
we could skip a lot the second time through - which we might even be able to improve
for the current repeated phase.

Cheers, Paul.



On Sat, Aug 4, 2018 at 7:52 AM Daniel.Sun <[hidden email]> wrote:
Hi all,

      As we all know, resolving is quite complicated and time consuming in
Groovy, but the resolving is applied twice currently. The additional
resolving is applied here:
https://github.com/apache/groovy/blob/master/src/main/java/org/codehaus/groovy/control/CompilationUnit.java#L581-L584

      If the additional resoving is removed, only one test fails.

      Could you recall why we have to resolve twice? And can we try to apply
resolving only once for better performance?

Cheers,
Daniel.Sun




-----
Daniel Sun
Apache Groovy committer
Blog: http://blog.sunlan.me
Twitter: @daniel_sun

--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html
Reply | Threaded
Open this post in threaded view
|

Re: About the additional resolving phase of compilation

Daniel.Sun
Hi Paul,

     I've created a JIRA issue to track it:
https://issues.apache.org/jira/browse/GROOVY-8729

Cheers,
Daniel.Sun




-----
Daniel Sun
Apache Groovy committer
Blog: http://blog.sunlan.me 
Twitter: @daniel_sun

--
Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html
Daniel Sun
Apache Groovy committer

Blog: http://blog.sunlan.me
Twitter: @daniel_sun