Skip to content

[C++] Improve kernel performance on small batches #26049

Description

@asfimport

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

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions