Speedup take_bytes (-35% -69%) by precalculating capacity#7422
Speedup take_bytes (-35% -69%) by precalculating capacity#7422Dandandan merged 18 commits intoapache:mainfrom
Conversation
|
This is ready now |
|
Is it fair to say that in general you've done a few refactors recently that replace |
I think at this point there is little point in using It might be worth spending some time documenting the best and most performant way to construct / transform Arrow arrays and apply it accross the arrow-rs create (marking stuff as deprecated if needed). |
|
I will take a proper review pass this afternoon. |
|
Do you see the same performance regression for Main: PR: |
I am not at a machine right now to test, but StringView doesn't use this code path. |
Generated code looks the same, so must be some sort of noise on my machine. |
mbutrovich
left a comment
There was a problem hiding this comment.
I think at this point there is little point in using
MutableBufferoverVecas the latter provides more performant (specialization overT, better inlining), slightly more safe and more complete API. The same probably applies for a lot ofBuilder-type APIs probably.It might be worth spending some time documenting the best and most performant way to construct / transform Arrow arrays and apply it accross the arrow-rs create (marking stuff as deprecated if needed).
This LGTM and is a great improvement. I also would love to see this documentation if you don't mind dumping your thoughts on the topic while they're fresh!
|
…_bytes performance and reduce oom
* Speedup take_bytes * Speedup take_bytes 2 * Speedup take_bytes 3 * WIP * WIP * WIP * Refactor * Refactor * Refactor * Refactor * Fix capacity * Fix * Fix * Fix * Refactor and speedup null indices / null values * Fix * Fix * Fmt
…_bytes performance and reduce oom
…_bytes performance and reduce oom (#1000) Co-authored-by: zhangli20 <zhangli20@kuaishou.com>
Which issue does this PR close?
Closes #7432
Rationale for this change
Performance improvements:
Details
Are there any user-facing changes?