Implement native interleave for ListView#9558
Conversation
a1131f2 to
16f2287
Compare
|
Do you mind comparing this to the fallthrough performance of #9562 ? |
Oh for sure, thanks for reminding me! |
|
Updated the description with results now. It's not looking like a win..! |
|
I would say let's merge the fallthrough and iterate on this version. I'm sure there are several possibilities for optimizations. |
|
FWIW I pushed up the branch I've had marinating locally for a month or two in case it's helpful: main...polarsignals:arrow-rs:asubiotto/lvinterleave. I believe the benchmarks showed a slight regression for interleaves of small lists, but overall the perf was an improvement. I'm not able to take a closer look right now, but sharing in case it's helpful. |
Thank you! |
6e8412e to
b18c3a6
Compare
|
Updated implementation and results now! |
Closes #9342.
This PR adds a native implementation of interleave for the ListView type. Also adds a benchmark.
Performance improves by more than 30% in all cases in the benchmark:
list_view<i64>(0.1,0.1,20) 100list_view<i64>(0.1,0.1,20) 400list_view<i64>(0.1,0.1,20) 1024list_view<i64>(0.1,0.1,20) 1024 4-arrlist_view<i64>(0.0,0.0,20) 100list_view<i64>(0.0,0.0,20) 400list_view<i64>(0.0,0.0,20) 1024list_view<i64>(0.0,0.0,20) 1024 4-arr