You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2026/10/09 16:00:41 UTC
(arrow-rs) branch gh-readonly-queue/main/pr-11461-a8ee70c9c4d6f4a7f46884007cdbc22fc8757b77 created (now c07655f8e9)
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a change to branch gh-readonly-queue/main/pr-11461-a8ee70c9c4d6f4a7f46884007cdbc22fc8757b77
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
at c07655f8e9 Benchmark Variant ObjectBuilder::insert with unique-field validation (#11461)
This branch includes the following new commits:
new c07655f8e9 Benchmark Variant ObjectBuilder::insert with unique-field validation (#11461)
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(arrow-rs) 01/01: Benchmark Variant ObjectBuilder::insert with unique-field validation (#11461)
Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-11461-a8ee70c9c4d6f4a7f46884007cdbc22fc8757b77
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
commit c07655f8e986834f2aebf9de46ba1c02ac58d32a
Author: Artem Osipov <59...@users.noreply.github.com>
AuthorDate: Fri Oct 9 15:07:23 2026 +0000
Benchmark Variant ObjectBuilder::insert with unique-field validation (#11461)
Adds a focused Criterion benchmark for inserting 128 pre-generated
unique fields into a Variant object, in both validated and unvalidated
modes. This benchmark-only PR establishes a baseline for the behavior
change in #11403, as requested in review.
Validation: the benchmark compiled on current Apache main; both cases
ran in a short local smoke test. Independent read-only review found no
blocking issues.
---
parquet-variant/benches/variant_builder.rs | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/parquet-variant/benches/variant_builder.rs b/parquet-variant/benches/variant_builder.rs
index 9dbf843586..9ce65b97cf 100644
--- a/parquet-variant/benches/variant_builder.rs
+++ b/parquet-variant/benches/variant_builder.rs
@@ -505,6 +505,33 @@ fn bench_extend_metadata_builder(c: &mut Criterion) {
});
}
+fn bench_object_insert_unique_fields(c: &mut Criterion) {
+ let keys: Vec<_> = (0..128).map(|index| format!("field_{index}")).collect();
+ let mut group = c.benchmark_group("object_insert_unique_fields");
+ group.throughput(Throughput::Elements(keys.len() as u64));
+
+ for validate_unique_fields in [false, true] {
+ let name = if validate_unique_fields {
+ "validated"
+ } else {
+ "unvalidated"
+ };
+ group.bench_function(name, |b| {
+ b.iter(|| {
+ let mut builder =
+ VariantBuilder::new().with_validate_unique_fields(validate_unique_fields);
+ let mut object = builder.new_object();
+ for key in &keys {
+ object.insert(hint::black_box(key), hint::black_box(42_i32));
+ }
+ object.finish();
+ hint::black_box(builder.finish());
+ });
+ });
+ }
+ group.finish();
+}
+
criterion_group!(
benches,
bench_object_field_names_reverse_order,
@@ -516,7 +543,8 @@ criterion_group!(
bench_object_list_partially_same_schema,
bench_validation_validated_vs_unvalidated,
bench_iteration_performance,
- bench_extend_metadata_builder
+ bench_extend_metadata_builder,
+ bench_object_insert_unique_fields
);
criterion_main!(benches);