psvri opened a new pull request, #4473:
URL: https://github.com/apache/arrow-rs/pull/4473

   # Which issue does this PR close?
   
   Closes #.
   
   # Rationale for this change
    
   The current sort implementation for primitive types first sorts by indices 
and then performs a take operation. The kernel can be improved by directly 
sorting.
   
   The results for i64 on my laptop are as follows
   
   ```
   sort 2^10               time:   [9.1287 µs 9.1711 µs 9.2279 µs]
                           change: [-27.180% -25.980% -24.697%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 17 outliers among 100 measurements (17.00%)
     1 (1.00%) low severe
     2 (2.00%) low mild
     3 (3.00%) high mild
     11 (11.00%) high severe
   
   sort 2^12               time:   [70.191 µs 70.437 µs 70.741 µs]
                           change: [-15.190% -13.941% -12.614%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 12 outliers among 100 measurements (12.00%)
     6 (6.00%) high mild
     6 (6.00%) high severe
   
   sort nulls 2^10         time:   [4.9898 µs 5.0080 µs 5.0319 µs]
                           change: [-68.212% -67.754% -67.288%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 17 outliers among 100 measurements (17.00%)
     2 (2.00%) low mild
     5 (5.00%) high mild
     10 (10.00%) high severe
   
   sort nulls 2^12         time:   [34.333 µs 34.641 µs 34.983 µs]
                           change: [-58.256% -57.089% -56.063%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 16 outliers among 100 measurements (16.00%)
     3 (3.00%) high mild
     13 (13.00%) high severe
   ```
   
   # What changes are included in this PR?
   
   I reworked the sort kernel so that primitive types are sorted directly 
without using sort_by_indices . I have also included a new primitive benchmark 
`sort_kernel_primitives.rs` .
   
   # 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]

Reply via email to