#26049·arrow

[C++] Improve kernel performance on small batches

Author: asfimportCreated Sep 16, 2020Updated Sep 18, 2026
LabelsType: enhancementComponent: C++

It seems that invoking some kernels on smallish batches has quite an overhead:

java

ArrayArrayKernel<Add, Int32Type>/32768/100                      2860 ns         2859 ns       245195 bytes_per_second=10.6727G/s items_per_second=2.86494G/s null_percent=1 size=32.768k
ArrayArrayKernel<Add, Int32Type>/32768/0                        2752 ns         2751 ns       249316 bytes_per_second=11.093G/s items_per_second=2.97775G/s null_percent=0 size=32.768k
ArrayArrayKernel<Add, Int32Type>/524288/100                    18633 ns        18630 ns        36548 bytes_per_second=26.2097G/s items_per_second=7.03561G/s null_percent=1 size=524.288k
ArrayArrayKernel<Add, Int32Type>/524288/0                      18260 ns        18257 ns        38245 bytes_per_second=26.7451G/s items_per_second=7.17933G/s null_percent=0 size=524.288k

We should investigate and try to lighten the overhead.

Reporter: Antoine Pitrou / @pitrou

Related issues:

Note: This issue was originally created as ARROW-10026. Please see the migration documentation for further details.