alamb commented on code in PR #9035:
URL: https://github.com/apache/arrow-rs/pull/9035#discussion_r2644245180
##########
arrow/benches/boolean_kernels.rs:
##########
@@ -40,38 +40,43 @@ fn bench_not(array: &BooleanArray) {
}
fn add_benchmark(c: &mut Criterion) {
+ // allocate arrays of 32K elements
let size = 2usize.pow(15);
+
+ // Note we allocate all arrays before the benchmark to ensure the
allocation of the arrays
+ // is not affected by allocations that happen during the benchmarked
operation.
let array1 = create_boolean_array(size, 0.0, 0.5);
let array2 = create_boolean_array(size, 0.0, 0.5);
- c.bench_function("and", |b| b.iter(|| bench_and(&array1, &array2)));
- c.bench_function("or", |b| b.iter(|| bench_or(&array1, &array2)));
- c.bench_function("not", |b| b.iter(|| bench_not(&array1)));
// Slice by 1 (not aligned to byte (8 bit) or word (64 bit) boundaries)
let offset = 1;
- let array1_slice = array1.slice(offset, size - offset);
- let array2_slice = array2.slice(offset, size - offset);
+ let array1_sliced_1 = array1.slice(offset, size - offset);
Review Comment:
the main change is to allocate all the inputs arrays before running the
benchmarks
I had to rename some of the variables anyways, so I took the opportunity to
rename them to reflect the names used in the benchmark descriptions as well
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]