groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Sun (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (GROOVY-8729) Eliminate the additional resolving phase of compilation for better performance
Date Fri, 03 Aug 2018 23:16:00 GMT

     [ https://issues.apache.org/jira/browse/GROOVY-8729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Sun updated GROOVY-8729:
-------------------------------
    Component/s: Compiler

> Eliminate the additional resolving phase of compilation for better performance
> ------------------------------------------------------------------------------
>
>                 Key: GROOVY-8729
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8729
>             Project: Groovy
>          Issue Type: Improvement
>          Components: Compiler
>            Reporter: Daniel Sun
>            Priority: Major
>
> We should try to eliminate the additional resolving phase of compilation:
> {code:java}
>             if (phase == Phases.SEMANTIC_ANALYSIS) {
>                 doPhaseOperation(resolve);
>                 if (dequeued()) continue;
>             }
> {code}
>  
> ===============================
> [http://groovy.329449.n5.nabble.com/About-the-additional-resolving-phase-of-compilation-tt5752846.html]
>  
> 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 
> --------------------------------------------------
> 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message