Skip to content

Commit 66b4b51

Browse files
committed
fix: black box input handling
Signed-off-by: Alexander Droste <[email protected]>
1 parent 563dc61 commit 66b4b51

File tree

5 files changed

+48
-73
lines changed

5 files changed

+48
-73
lines changed

vortex-array/benches/scalar_subtract.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ fn scalar_subtract(bencher: Bencher) {
3535
let chunked = ChunkedArray::from_iter([data1, data2]).into_array();
3636

3737
bencher.with_inputs(|| &chunked).bench_refs(|chunked| {
38-
let array = vortex_array::compute::sub_scalar(*chunked, to_subtract.into()).unwrap();
39-
divan::black_box(array);
38+
vortex_array::compute::sub_scalar(*chunked, to_subtract.into()).unwrap()
4039
});
4140
}

vortex-array/benches/take_struct.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@ fn take_struct_simple(bencher: Bencher) {
4848

4949
bencher
5050
.with_inputs(|| (&struct_array, &indices_array))
51-
.bench_refs(|(array, indices)| {
52-
divan::black_box(take(array.as_ref(), indices.as_ref()).unwrap());
53-
});
51+
.bench_refs(|(array, indices)| take(array.as_ref(), indices.as_ref()).unwrap());
5452
}
5553

5654
#[divan::bench(args = [8])]
@@ -81,9 +79,7 @@ fn take_struct_wide(bencher: Bencher, width: usize) {
8179

8280
bencher
8381
.with_inputs(|| (&struct_array, &indices_array))
84-
.bench_refs(|(array, indices)| {
85-
divan::black_box(take(array.as_ref(), indices.as_ref()).unwrap());
86-
});
82+
.bench_refs(|(array, indices)| take(array.as_ref(), indices.as_ref()).unwrap());
8783
}
8884

8985
#[divan::bench]
@@ -111,7 +107,5 @@ fn take_struct_sequential_indices(bencher: Bencher) {
111107

112108
bencher
113109
.with_inputs(|| (&struct_array, &indices_array))
114-
.bench_refs(|(array, indices)| {
115-
divan::black_box(take(array.as_ref(), indices.as_ref()).unwrap());
116-
});
110+
.bench_refs(|(array, indices)| take(array.as_ref(), indices.as_ref()).unwrap());
117111
}

vortex-buffer/benches/vortex_bitbuffer.rs

Lines changed: 40 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -37,45 +37,43 @@ fn from_iter<B: FromIterator<bool>>(n: usize) {
3737
#[divan::bench(args = INPUT_SIZE)]
3838
fn append_vortex_buffer(bencher: Bencher, length: usize) {
3939
bencher
40-
.with_inputs(|| BitBufferMut::with_capacity(length))
41-
.bench_refs(|buffer| {
42-
for idx in 0..length {
43-
buffer.append(divan::black_box(idx % 2 == 0));
40+
.with_inputs(|| (BitBufferMut::with_capacity(length), length))
41+
.bench_refs(|(buffer, length)| {
42+
for idx in 0..*length {
43+
buffer.append(idx % 2 == 0);
4444
}
4545
});
4646
}
4747

4848
#[divan::bench(args = INPUT_SIZE)]
4949
fn append_arrow_buffer(bencher: Bencher, length: usize) {
5050
bencher
51-
.with_inputs(|| Arrow(BooleanBufferBuilder::new(length)))
52-
.bench_refs(|buffer| {
53-
for idx in 0..length {
54-
buffer.0.append(divan::black_box(idx % 2 == 0));
51+
.with_inputs(|| (Arrow(BooleanBufferBuilder::new(length)), length))
52+
.bench_refs(|(buffer, length)| {
53+
for idx in 0..*length {
54+
buffer.0.append(idx % 2 == 0);
5555
}
5656
});
5757
}
5858

5959
#[divan::bench(args = INPUT_SIZE)]
6060
fn append_n_vortex_buffer(bencher: Bencher, length: usize) {
6161
bencher
62-
.with_inputs(|| BitBufferMut::with_capacity(length))
63-
.bench_refs(|buffer| {
62+
.with_inputs(|| (BitBufferMut::with_capacity(length), length, true))
63+
.bench_refs(|(buffer, length, boolean)| {
6464
for _ in 0..100 {
65-
buffer.append_n(divan::black_box(true), divan::black_box(length / 100));
65+
buffer.append_n(*boolean, *length / 100);
6666
}
6767
});
6868
}
6969

7070
#[divan::bench(args = INPUT_SIZE)]
7171
fn append_n_arrow_buffer(bencher: Bencher, length: usize) {
7272
bencher
73-
.with_inputs(|| Arrow(BooleanBufferBuilder::new(length)))
74-
.bench_refs(|buffer| {
73+
.with_inputs(|| (Arrow(BooleanBufferBuilder::new(length)), length, true))
74+
.bench_refs(|(buffer, length, boolean)| {
7575
for _ in 0..100 {
76-
buffer
77-
.0
78-
.append_n(divan::black_box(length / 100), divan::black_box(true));
76+
buffer.0.append_n(*length / 100, *boolean);
7977
}
8078
});
8179
}
@@ -90,7 +88,7 @@ fn append_buffer_vortex_buffer(bencher: Bencher, length: usize) {
9088
})
9189
.bench_refs(|(source, dest)| {
9290
for _ in 0..100 {
93-
dest.append_buffer(divan::black_box(source));
91+
dest.append_buffer(source);
9492
}
9593
});
9694
}
@@ -107,7 +105,7 @@ fn append_buffer_arrow_buffer(bencher: Bencher, length: usize) {
107105
})
108106
.bench_refs(|(source, dest)| {
109107
for _ in 0..100 {
110-
for value in divan::black_box(&source.0).iter() {
108+
for value in source.0.iter() {
111109
dest.0.append(value);
112110
}
113111
}
@@ -141,33 +139,35 @@ fn slice_vortex_buffer(bencher: Bencher, length: usize) {
141139
.with_inputs(|| (&buffer, length / 2))
142140
.bench_refs(|(buffer, mid)| {
143141
let mid = *mid;
144-
divan::black_box(buffer.slice(mid / 2..mid + mid / 2));
142+
buffer.slice(mid / 2..mid + mid / 2)
145143
});
146144
}
147145

148146
#[divan::bench(args = INPUT_SIZE)]
149147
fn slice_arrow_buffer(bencher: Bencher, length: usize) {
150148
let buffer = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 2 == 0)));
151-
bencher.with_inputs(|| &buffer).bench_refs(|buffer| {
152-
let mid = length / 2;
153-
divan::black_box(buffer.0.slice(mid / 2, mid / 2));
154-
});
149+
bencher
150+
.with_inputs(|| (&buffer, length / 2))
151+
.bench_refs(|(buffer, mid)| {
152+
let mid = *mid;
153+
buffer.0.slice(mid / 2, mid / 2)
154+
});
155155
}
156156

157157
#[divan::bench(args = INPUT_SIZE)]
158158
fn true_count_vortex_buffer(bencher: Bencher, length: usize) {
159159
let buffer = BitBuffer::from_iter((0..length).map(|i| i % 2 == 0));
160-
bencher.with_inputs(|| &buffer).bench_refs(|buffer| {
161-
divan::black_box(buffer.true_count());
162-
})
160+
bencher
161+
.with_inputs(|| &buffer)
162+
.bench_refs(|buffer| buffer.true_count())
163163
}
164164

165165
#[divan::bench(args = INPUT_SIZE)]
166166
fn true_count_arrow_buffer(bencher: Bencher, length: usize) {
167167
let buffer = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 2 == 0)));
168-
bencher.with_inputs(|| &buffer).bench_refs(|buffer| {
169-
divan::black_box(buffer.0.count_set_bits());
170-
});
168+
bencher
169+
.with_inputs(|| &buffer)
170+
.bench_refs(|buffer| buffer.0.count_set_bits());
171171
}
172172

173173
#[divan::bench(args = INPUT_SIZE)]
@@ -178,18 +178,16 @@ fn bitwise_and_vortex_buffer(bencher: Bencher, length: usize) {
178178
let b = BitBuffer::from_iter((0..length).map(|i| i % 3 == 0));
179179
(a, b)
180180
})
181-
.bench_values(|(a, b)| {
182-
divan::black_box(&a & &b);
183-
});
181+
.bench_values(|(a, b)| &a & &b);
184182
}
185183

186184
#[divan::bench(args = INPUT_SIZE)]
187185
fn bitwise_and_arrow_buffer(bencher: Bencher, length: usize) {
188186
let a = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 2 == 0)));
189187
let b = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 3 == 0)));
190-
bencher.with_inputs(|| (&a, &b)).bench_refs(|(a, b)| {
191-
divan::black_box(&a.0 & &b.0);
192-
});
188+
bencher
189+
.with_inputs(|| (&a, &b))
190+
.bench_refs(|(a, b)| &a.0 & &b.0);
193191
}
194192

195193
#[divan::bench(args = INPUT_SIZE)]
@@ -200,45 +198,37 @@ fn bitwise_or_vortex_buffer(bencher: Bencher, length: usize) {
200198
let b = BitBuffer::from_iter((0..length).map(|i| i % 3 == 0));
201199
(a, b)
202200
})
203-
.bench_values(|(a, b)| {
204-
divan::black_box(&a | &b);
205-
});
201+
.bench_values(|(a, b)| &a | &b);
206202
}
207203

208204
#[divan::bench(args = INPUT_SIZE)]
209205
fn bitwise_or_arrow_buffer(bencher: Bencher, length: usize) {
210206
let a = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 2 == 0)));
211207
let b = Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 3 == 0)));
212-
bencher.with_inputs(|| (&a, &b)).bench_refs(|(a, b)| {
213-
divan::black_box(&a.0 | &b.0);
214-
});
208+
bencher
209+
.with_inputs(|| (&a, &b))
210+
.bench_refs(|(a, b)| &a.0 | &b.0);
215211
}
216212

217213
#[divan::bench(args = INPUT_SIZE)]
218214
fn bitwise_not_vortex_buffer(bencher: Bencher, length: usize) {
219215
bencher
220216
.with_inputs(|| BitBuffer::from_iter((0..length).map(|i| i % 2 == 0)))
221-
.bench_values(|buffer| {
222-
divan::black_box(!&buffer);
223-
});
217+
.bench_values(|buffer| !&buffer);
224218
}
225219

226220
#[divan::bench(args = INPUT_SIZE)]
227221
fn bitwise_not_vortex_buffer_mut(bencher: Bencher, length: usize) {
228222
bencher
229223
.with_inputs(|| BitBufferMut::from_iter((0..length).map(|i| i % 2 == 0)))
230-
.bench_values(|buffer| {
231-
divan::black_box(!buffer);
232-
});
224+
.bench_values(|buffer| !buffer);
233225
}
234226

235227
#[divan::bench(args = INPUT_SIZE)]
236228
fn bitwise_not_arrow_buffer(bencher: Bencher, length: usize) {
237229
bencher
238230
.with_inputs(|| Arrow(BooleanBuffer::from_iter((0..length).map(|i| i % 2 == 0))))
239-
.bench_values(|buffer| {
240-
divan::black_box(!&buffer.0);
241-
});
231+
.bench_values(|buffer| !&buffer.0);
242232
}
243233

244234
#[divan::bench(args = INPUT_SIZE)]

vortex-buffer/benches/vortex_buffer.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,10 @@ fn push_arrow_buffer(bencher: Bencher, length: i32) {
123123
#[divan::bench(types = [u8, u16, u32, u64], args = INPUT_SIZE_USIZE)]
124124
fn push_n_vortex_buffer<T: PrimInt>(bencher: Bencher, length: usize) {
125125
bencher
126-
.with_inputs(|| BufferMut::<T>::with_capacity(length))
127-
.bench_refs(|buffer| {
126+
.with_inputs(|| (BufferMut::<T>::with_capacity(length), length, T::one()))
127+
.bench_refs(|(buffer, length, one)| {
128128
for _ in 0..100 {
129-
unsafe {
130-
buffer.push_n_unchecked(
131-
divan::black_box(T::one()),
132-
divan::black_box(length / 100),
133-
)
134-
};
129+
unsafe { buffer.push_n_unchecked(*one, *length / 100) };
135130
}
136131
});
137132
}

vortex-compute/benches/expand_buffer.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,5 @@ fn expand_buffer<T: Copy + Default + From<u8> + Send + 'static>(
7070
let buffer = create_test_buffer::<T>(true_count);
7171
(buffer, mask)
7272
})
73-
.bench_refs(|(buffer, mask)| {
74-
let result = buffer.expand(mask);
75-
divan::black_box(result);
76-
});
73+
.bench_refs(|(buffer, mask)| buffer.expand(mask));
7774
}

0 commit comments

Comments
 (0)