[ 
https://issues.apache.org/jira/browse/ARROW-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17487181#comment-17487181
 ] 

Yaron Gvili edited comment on ARROW-15571 at 2/4/22, 4:52 PM:
--------------------------------------------------------------

OK regarding power working on floating point values. This 
[SO|https://stackoverflow.com/questions/17417490/difference-between-sqrtx-and-powx-0-5]
 suggests sqrt(x ) would be faster and a bit more accurate than pow(x, 0.5), so 
there is room for a sqrt operation.

Regarding my goal, it is to apply the operations to a single column with best 
performance in Arrow. Here's an example for how I'm currently invoking the code 
in my PR:

 
{code:java}
ProjectNodeOptions(
    {call("minimum",
        {call("maximum",
            {call("square_root",
                {field_ref("column_0")}),
            literal(low_threshold)}),
        literal(high_threshold)})},
    {"result_0"}){code}
Note that the above is `using namespace arrow::compute` and that "column_0" is 
of type double. How should I achieve the same functionality with the existing 
operations? If the solution involves aggregate operations, do they provide best 
performance, as compared to (the missing) scalar operations?

 


was (Author: JIRAUSER284707):
OK regarding power working on floating point values. This 
[SO|https://stackoverflow.com/questions/17417490/difference-between-sqrtx-and-powx-0-5]
 suggests sqrt(x) would be faster and a bit more accurate than pow(x, 0.5), so 
there is room for a sqrt operation.

Regarding my goal, it is to apply the operations to a single column with best 
performance in Arrow. Here's an example for how I'm currently invoking the code 
in my PR:

 
{code:java}
ProjectNodeOptions(
    {call("minimum",
        {call("maximum",
            {call("square_root",
                {field_ref("column_0")}),
            literal(low_threshold)}),
        literal(high_threshold)})},
    {"result_0"}){code}
Note that the above is `using namespace arrow::compute` and that "column_0" is 
of type double. How should I achieve the same functionality with the existing 
operations? If the solution involves aggregate operations, do they provide best 
performance, as compared to (the missing) scalar operations?

 

> [C++] Add min/max/sqrt scalar kernels to execution engine
> ---------------------------------------------------------
>
>                 Key: ARROW-15571
>                 URL: https://issues.apache.org/jira/browse/ARROW-15571
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Yaron Gvili
>            Priority: Major
>              Labels: kernel, pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The list of execution engine's scalar kernels currently available in 
> `cpp/src/arrow/compute/kernels/scalar_arithmetic.cc` does not cover the 
> common minimum, maximum, and square-root functions.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to