You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2021/10/12 18:54:00 UTC
[jira] [Assigned] (GROOVY-8729) Eliminate the additional resolving
phase of compilation for better performance
[ https://issues.apache.org/jira/browse/GROOVY-8729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles reassigned GROOVY-8729:
-----------------------------------
Assignee: Eric Milles
> 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
> Assignee: Eric Milles
> 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
(v8.3.4#803005)