> On Sept. 21, 2014, 5:44 p.m., Steven Phillips wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterEvalator.java,
> >  line 94
> > <https://reviews.apache.org/r/25877/diff/1/?file=699148#file699148line94>
> >
> >     Is it necessary to create a new DrillSimpleFuncInterpreter for every 
> > record? Couldn't "interpreter" be created once per batch, and doSetup run 
> > once per batch, and then doEval run for every record?
> 
> Jacques Nadeau wrote:
>     Agreed.  Interpreter should be created once and be reused.

I agree. Ideally, we should create interpreter once. The doSetup() should be 
called once, similar to the compile & execution model. 

The first implementation did not pay close attention to performance 
optimization. Let me think about how to optimize.


- Jinfeng


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25877/#review54101
-----------------------------------------------------------


On Sept. 21, 2014, 4:42 p.m., Jinfeng Ni wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25877/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2014, 4:42 p.m.)
> 
> 
> Review request for drill and Steven Phillips.
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> This patch provides the interpreted model to evaluate a Drill expression, 
> consists of constants, DrillSimpleFunction, Case Expression, Boolean 
> operator. 
> 
> It does not switch the existing Drill's execution framework to this new 
> model. As the next step of work, we will modify the existing 
> ProjectRecordBatch / FilterRecordBatch, such that the projected expression, 
> or filter expression would use this interpreted model, when necessary.
> 
> In this patch, the only way to use this new interpreted model is to through 
> unit test ( see ExpressionInterpreterTest.java for example).
> 
> We add a new mvn module under drill_root/exec. The new module is the place 
> where all the static function interpreters will be generated into, and 
> compiled, during maven build process. 
> 
> 
> Diffs
> -----
> 
>   exec/interpreter/pom.xml PRE-CREATION 
>   
> exec/interpreter/src/test/java/org/apache/drill/exec/expr/ExpressionInterpreterTest.java
>  PRE-CREATION 
>   exec/java-exec/src/main/codegen/templates/TypeHelper.java 9bb2507 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillBooleanOPHolder.java
>  9032d37 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFuncHolder.java
>  1852731 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java
>  4731200 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java
>  402a6fc 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/DrillFuncInterpreter.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/DrillSimpleFuncInterpreter.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterBuilder.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterEvalator.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterGenerator.java
>  PRE-CREATION 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/ComplexHolder.java
>  e1025df 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/RepeatedListHolder.java
>  09746da 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/RepeatedMapHolder.java
>  247f75e 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/expr/holders/ValueHolder.java
>  5c2adc6 
>   
> exec/java-exec/src/main/java/org/apache/drill/exec/vector/ValueHolderHelper.java
>  31afb6f 
>   exec/pom.xml fe2a75e 
> 
> Diff: https://reviews.apache.org/r/25877/diff/
> 
> 
> Testing
> -------
> 
> 1. Run existing JUnit test suite.
> 
> 2. Add a new ExpressionInterpreterTest.java.
> 
> 
> Thanks,
> 
> Jinfeng Ni
> 
>

Reply via email to