ExecuteScalarExpression sets up and tears down ScalarExecutor from exec.cc for each node in the expression tree. This adds a ton of overhead from moving around non-trivial objects. After ARROW-16756, we should write a new ScalarExpressionExecutor which is careful to construct ArraySpans and execute the expression tree in a much more lightweight / less bloated fashion.
Follow on work in a subsequent Jira will add a pool/stack of allocated temporary buffers to reuse during execution
Reporter: Wes McKinney / @wesm
Related issues:
Note: This issue was originally created as ARROW-16758. Please see the migration documentation for further details.
ExecuteScalarExpressionsets up and tears downScalarExecutorfrom exec.cc for each node in the expression tree. This adds a ton of overhead from moving around non-trivial objects. After ARROW-16756, we should write a new ScalarExpressionExecutor which is careful to construct ArraySpans and execute the expression tree in a much more lightweight / less bloated fashion.Follow on work in a subsequent Jira will add a pool/stack of allocated temporary buffers to reuse during execution
Reporter: Wes McKinney / @wesm
Related issues:
Note: This issue was originally created as ARROW-16758. Please see the migration documentation for further details.