Skip to content

perf: verify shuffle IPC context-reuse allocation savings with Arrow 59.1+ #5446

Description

@peterxcli

What is the problem the feature request solves?

PR #5038 reuses the Arrow IPC write context across shuffle blocks. On the original Arrow 58.4.0 baseline, CompressionContext owned only an optional zstd compressor; the FlatBufferBuilder was still allocated separately for every batch. Since Comet did not enable Arrow IPC buffer compression, that lifetime change alone did not provide metadata-allocation savings.

Upstream main uses DataFusion 55.0.0 and Arrow/Parquet 59.2.0 through merged #5262. The dependency upgrade is no longer a blocker. The upgrade also migrates the shuffle writer paths to IpcWriteContext. Arrow 59.2.0's write context owns a reusable FlatBufferBuilder, so the deferred optimization can now be measured on main.

This issue tracks validating the shuffle performance benefit, not another dependency upgrade.

Describe the potential solution

Completion checklist:

Comet's outer per-block compression encoders are independent and outside this issue's scope.

Additional context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:shuffleShuffle (JVM and native)enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions