Skip to content

arrow-ipc: Reduce writer allocations for dictionary batches #10127

@JakeDern

Description

@JakeDern

Is your feature request related to a problem or challenge?

IPC writer code used to stage ipc messages and array buffers in intermediate storage before writing them out to the final destination (writer or file). #10044 introduced an optimization to avoid this intermediate staging for record batch ipc bodies when compression was not present.

We can apply the same optimization for dictionary batches which are basically a special case of record batch messages.

Describe the solution you'd like

Collect references to dictionary batch values ahead of time and do the writes directly to the writer when we don't have to apply compression.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAny new improvement worthy of a entry in the changelog
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions