kumarUjjawal opened a new issue, #22121:
URL: https://github.com/apache/datafusion/issues/22121

   ### Describe the bug
   
   The `array_replace` benchmark calls `expr_fn::array_replace_all`, which only 
constructs an `Expr::ScalarFunction` node, it does not execute the underlying 
`array_replace_all_inner` kernel.
   
   As a result, the benchmark measures `Expr` construction and cloning,  not 
kernel performance. It cannot detect regressions in the function  it was 
originally introduced to protect (added in #8337 — "Avoid concat for 
array_replace").
   
   
   ### To Reproduce
   
    `expr_fn::array_replace_all` is generated by `make_udf_expr_and_func!` and 
returns:
   
     ```rust
     Expr::ScalarFunction { fun: array_replace_all_udf, args: [...] }
    ```
     It never invokes array_replace_all_inner.
   
   ### Expected behavior
   
   The benchmark should invoke the kernel on ArrayRef inputs, for  example via 
the ScalarUDFImpl::invoke_* path or by calling array_replace_all_inner directly 
so that it measures actual replacement performance and guards against kernel 
regressions.
   
   ### Additional context
   
   Discovered while investigating #18447.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to