[
https://issues.apache.org/jira/browse/TAJO-906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hyunsik Choi resolved TAJO-906.
-------------------------------
Resolution: Fixed
committed it to master branch. Thanks!
> Runtime code generation for evaluating expression trees
> -------------------------------------------------------
>
> Key: TAJO-906
> URL: https://issues.apache.org/jira/browse/TAJO-906
> Project: Tajo
> Issue Type: Improvement
> Components: physical operator
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.9.0
>
>
> We have used EvalNode for two purposes:
> * logical planning of expressions
> * evaluation of expressions
> EvalNode still is very nice for the purpose of logical planning. But, each
> EvalNode tree takes Datum included in a tuple and results in a Datum as a
> evaluation result.
> So, the current approach requires many object creations, and causes interpret
> overheads, meaning that each one evaluation involves tree traverses and many
> function calls. interpretation involves also many branches, and it is harmful
> to CPU pipelining.
> I propose Java byte code generation for each expression, and I'll use ASM
> (http://asm.ow2.org/) for it. This approach will write native java byte code,
> eliminating many condition branches and function calls. In addition, it is
> easier to deal with java primitive data types for expressions.
--
This message was sent by Atlassian JIRA
(v6.2#6252)