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]