[
https://issues.apache.org/jira/browse/ARROW-16599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Weston Pace resolved ARROW-16599.
---------------------------------
Fix Version/s: 9.0.0
Resolution: Fixed
Issue resolved by pull request 13179
[https://github.com/apache/arrow/pull/13179]
> [C++] Implementation of ExecuteScalarExpressionOverhead benchmarks without
> arrow for comparision
> ------------------------------------------------------------------------------------------------
>
> Key: ARROW-16599
> URL: https://issues.apache.org/jira/browse/ARROW-16599
> Project: Apache Arrow
> Issue Type: Sub-task
> Components: C++
> Reporter: Tobias Zagorni
> Assignee: Tobias Zagorni
> Priority: Minor
> Labels: pull-request-available
> Fix For: 9.0.0
>
> Attachments: example-output-baseline.txt
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> The ExecuteScalarExpressionOverhead group of benchmarks for now gives us
> values we can compare to different batch sizes, or to different expressions.
> But we don't really see how well arrow does compared to what is possible in
> general.
> The simple_expression and (negate x) complex_expression (x>0 and x<20)
> benchmarks, which perform an actual operation on data, can be implemented in
> pure C++ for comparison.
> I implemented complex_expression benchmark using technically unnecessary
> intermediate buffers for the > and < operator results, to match what happens
> in the arrow expression.
> What may seem unfair is that I currently re-use the input/output/intermediate
> buffers over all iterations. I also tried using new and delete each time, but
> could not measure a difference in performance. Reusing allowes to use
> std::vector for sightly cleaner code. Re-creating a vector each time would
> results in a lot of overhead initializing the vector values and is therefore
> not useful.
> Example output: [^example-output-baseline.txt]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)