This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/main by this push:
     new 3681540e07 Add FixedSizeBinary to `take_kernel` benchmark (#7592)
3681540e07 is described below

commit 3681540e072857746597aa65f083886dbf37f2d5
Author: Andrew Lamb <and...@nerdnetworks.org>
AuthorDate: Mon Jun 2 13:01:39 2025 -0400

    Add FixedSizeBinary to `take_kernel` benchmark (#7592)
    
    # Which issue does this PR close?
    
    - part of https://github.com/apache/arrow-rs/issues/7591
    
    # Rationale for this change
    
    I would like a benchmark that shows improvements in
    https://github.com/apache/arrow-rs/pull/7590
    
    `take` with FixedSizeBinary  is the only one I know of now
    
    # What changes are included in this PR?
    
    Add `fsb` to the take_kernel benchmarks
    
    
    # Are there any user-facing changes?
    
    No, this is a benchmark
---
 arrow/benches/take_kernels.rs | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arrow/benches/take_kernels.rs b/arrow/benches/take_kernels.rs
index a7e70d2b03..8f6f92a375 100644
--- a/arrow/benches/take_kernels.rs
+++ b/arrow/benches/take_kernels.rs
@@ -192,6 +192,19 @@ fn add_benchmark(c: &mut Criterion) {
         "take primitive run logical len: 1024, physical len: 512, indices: 
1024",
         |b| b.iter(|| bench_take(&values, &indices)),
     );
+
+    let values = create_fsb_array(1024, 0.0, 12);
+    let indices = create_random_index(1024, 0.0);
+    c.bench_function("take primitive fsb value len: 12, indices: 1024", |b| {
+        b.iter(|| bench_take(&values, &indices))
+    });
+
+    let values = create_fsb_array(1024, 0.5, 12);
+    let indices = create_random_index(1024, 0.0);
+    c.bench_function(
+        "take primitive fsb value len: 12, null values, indices: 1024",
+        |b| b.iter(|| bench_take(&values, &indices)),
+    );
 }
 
 criterion_group!(benches, add_benchmark);

Reply via email to