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

Paul Rogers updated IMPALA-7808:
--------------------------------
    Summary: Refactor SelectStmt analyzer for easier debugging  (was: Refactor 
Analyzer for easier debugging)

> Refactor SelectStmt analyzer for easier debugging
> -------------------------------------------------
>
>                 Key: IMPALA-7808
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7808
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Frontend
>    Affects Versions: Impala 3.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Minor
>
> The analysis steps in {{SelectStmt}} and {{AnalysisContext}} are large and 
> cumbersome. There is ample evidence in the literature that simpler, smaller 
> functions are easier to understand and debug than larger, more complex 
> functions. This ticket requests breaking up the large functions in these two 
> cases into smaller, easier-understood units in preparation for tracking down 
> issues related to missing rewrites of the {{WHERE}} and {{GROUP BY}} clauses.
> One might argue that large functions perform better by eliminating 
> unnecessary function calls. However, the planner is not performance 
> sensitive, and the dozen extra calls that this change introduce will not 
> change performance given the thousands of calls already made.
> Experience has shown that the JIT compiler in the JVM actually does a better 
> job optimizing smaller functions, and gives up when functions get to large. 
> So, by creating smaller functions, we may actually allow the JIT compiler to 
> generate better code.
> And, this refactoring is in support of a possible outcome that the planner 
> can handle rewrites without making multiple passes through the analyzer: that 
> savings will far outweigh the few extra calls this change introduces.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to