Skip to content

Conversation

@asubiotto
Copy link
Contributor

Rationale for this change

A struct concatenation benchmark was requested in #7517 (review)

What changes are included in this PR?

This PR creates a struct with a primitive field, and two sparse dictionary fields (one primitive, one utf8) and benchmarks concatenation.

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM -- thank you @asubiotto

@asubiotto asubiotto force-pushed the asubiotto-structbench branch from b939cfe to 3f8b828 Compare May 16, 2025 13:23
@asubiotto
Copy link
Contributor Author

Running these benchmarks on the other PR I realized I made the int32 values slice as large as the dictionary length. Changed it from 1024 to 20 distinct values out of 1024 to be more realistic.

@asubiotto
Copy link
Contributor Author

asubiotto commented May 16, 2025

Further reduced the verbosity of the benchmark and parametrized batch size + count since I found it useful to tweak these in #7519

@asubiotto asubiotto force-pushed the asubiotto-structbench branch from f74a0de to 24cf67d Compare May 16, 2025 15:59
})
.collect::<Vec<_>>();

let array_refs = struct_arrays
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a really annoying part of the concat API

@alamb alamb merged commit 7bab215 into apache:main May 16, 2025
23 checks passed
@alamb
Copy link
Contributor

alamb commented May 16, 2025

Let's get this one in and we can iterate on it once merged

@alamb
Copy link
Contributor

alamb commented May 16, 2025

Thanks again @asubiotto

@asubiotto asubiotto deleted the asubiotto-structbench branch May 16, 2025 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrow Changes to the arrow crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants