neilconway opened a new pull request, #21991:
URL: https://github.com/apache/datafusion/pull/21991

   ## Which issue does this PR close?
   
   - Closes #21990.
   
   ## Rationale for this change
   
   Rather than computing NULLs on a per-row basis, use the bulk-NULL string 
builders to compute them just by copying the input NULL bitmap. See recent 
related PRs (#21990, #21853, etc.) for context.
   
   Benchmarks:
   
     StringArray, ASCII
     - str_len=8:    61.16 µs → 50.33 µs   (−17.7%)
     - str_len=32:   73.36 µs → 68.78 µs   (−6.9%)
     - str_len=128:  93.82 µs → 94.03 µs   (+0.7%)
     - str_len=4096: 3.614 ms → 2.422 ms   (−33.0%)
   
     StringArray, UTF-8 (0.8)
     - str_len=8:    195.97 µs → 169.22 µs   (−13.4%)
     - str_len=32:   818.77 µs → 848.41 µs   (+4.1%)
     - str_len=128:  3.387 ms → 3.472 ms     (+2.5%)
     - str_len=4096: 116.88 ms → 117.57 ms   (+0.6%)
   
     StringViewArray, ASCII
     - str_len=8:    62.67 µs → 51.00 µs    (−19.0%)
     - str_len=32:   84.74 µs → 76.05 µs    (−9.8%)
     - str_len=128:  103.49 µs → 89.50 µs   (−13.0%)
     - str_len=4096: 2.011 ms → 2.021 ms    (+0.5%)
   
     StringViewArray, UTF-8 (0.8)
     - str_len=8:    207.43 µs → 183.39 µs  (−11.2%)
     - str_len=32:   840.96 µs → 850.70 µs  (+2.4%)
     - str_len=128:  3.408 ms → 3.462 ms    (+1.6%)
     - str_len=4096: 115.38 ms → 117.01 ms  (+1.4%)
   
   ## What changes are included in this PR?
   
   * Switch to bulk-NULL string builders
   * Add a unit test for `reverse` with array inputs and some NULL values, to 
ensure that this case is handled correctly
   
   ## Are these changes tested?
   
   Yes.
   
   ## Are there any user-facing changes?
   
   No.
   


-- 
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