Skip to content

[AURON #2499] perf: avoid identity take in GenerateExec - #2500

Open
lyne7-sc wants to merge 1 commit into
apache:masterfrom
lyne7-sc:perf/generate-identity-take
Open

[AURON #2499] perf: avoid identity take in GenerateExec#2500
lyne7-sc wants to merge 1 commit into
apache:masterfrom
lyne7-sc:perf/generate-identity-take

Conversation

@lyne7-sc

@lyne7-sc lyne7-sc commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #2499

Rationale for this change

Avoid redundant generated-array copies during non-outer GenerateExec.

What changes are included in this PR?

  • Reuse generated output arrays directly when outer is false.
  • Keep the existing take path for outer generation.
  • Preserve the child-column take required to duplicate parent rows.

Are there any user-facing changes?

No. This is an internal performance improvement.

How was this patch tested?

Existed unit tests passed.

Benchmarks

The benchmark uses 10,000 input rows with 8 values per row. The reported values are averages of two runs.

Benchmark Before After Improvement
explode_array_i32 0.625 ms 0.567 ms 9.3%
posexplode_array_i32 0.728 ms 0.617 ms 15.3%
explode_map_utf8_i32 1.156 ms 0.544 ms 53.0%
explode_array_i32_parent_null_gaps 0.551 ms 0.526 ms 4.5%

Was this patch authored or co-authored using generative AI tooling?

  • Yes
  • No

If yes, include: Generated-by: <tool name and version>

ASF guidance: https://www.apache.org/legal/generative-tooling.html

@github-actions github-actions Bot added the native label Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Performance] Avoid redundant identity take in GenerateExec

1 participant