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);