@@ -117,7 +117,7 @@ fn append_buffer_arrow_buffer(bencher: Bencher, length: usize) {
117117#[ divan:: bench( args = INPUT_SIZE ) ]
118118fn value_vortex_buffer ( bencher : Bencher , length : usize ) {
119119 let buffer = BitBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ;
120- bencher. bench_local ( | | {
120+ bencher. with_inputs ( || & buffer ) . bench_refs ( |buffer | {
121121 for idx in 0 ..length {
122122 divan:: black_box ( buffer. value ( idx) ) ;
123123 }
@@ -127,7 +127,7 @@ fn value_vortex_buffer(bencher: Bencher, length: usize) {
127127#[ divan:: bench( args = INPUT_SIZE ) ]
128128fn value_arrow_buffer ( bencher : Bencher , length : usize ) {
129129 let buffer = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
130- bencher. bench_local ( | | {
130+ bencher. with_inputs ( || & buffer ) . bench_refs ( |buffer | {
131131 for idx in 0 ..length {
132132 divan:: black_box ( buffer. 0 . value ( idx) ) ;
133133 }
@@ -136,36 +136,36 @@ fn value_arrow_buffer(bencher: Bencher, length: usize) {
136136
137137#[ divan:: bench( args = INPUT_SIZE ) ]
138138fn slice_vortex_buffer ( bencher : Bencher , length : usize ) {
139+ let buffer = BitBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ;
139140 bencher
140- . with_inputs ( || BitBuffer :: from_iter ( ( 0 .. length) . map ( |i| i % 2 == 0 ) ) )
141- . bench_values ( | buffer| {
142- let mid = length / 2 ;
141+ . with_inputs ( || ( & buffer , length / 2 ) )
142+ . bench_refs ( | ( buffer, mid ) | {
143+ let mid = * mid ;
143144 divan:: black_box ( buffer. slice ( mid / 2 ..mid + mid / 2 ) ) ;
144145 } ) ;
145146}
146147
147148#[ divan:: bench( args = INPUT_SIZE ) ]
148149fn slice_arrow_buffer ( bencher : Bencher , length : usize ) {
149- bencher
150- . with_inputs ( || Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) )
151- . bench_values ( |buffer| {
152- let mid = length / 2 ;
153- divan:: black_box ( buffer. 0 . slice ( mid / 2 , mid / 2 ) ) ;
154- } ) ;
150+ 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+ } ) ;
155155}
156156
157157#[ divan:: bench( args = INPUT_SIZE ) ]
158158fn true_count_vortex_buffer ( bencher : Bencher , length : usize ) {
159159 let buffer = BitBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ;
160- bencher. bench_local ( | | {
160+ bencher. with_inputs ( || & buffer ) . bench_refs ( |buffer | {
161161 divan:: black_box ( buffer. true_count ( ) ) ;
162162 } )
163163}
164164
165165#[ divan:: bench( args = INPUT_SIZE ) ]
166166fn true_count_arrow_buffer ( bencher : Bencher , length : usize ) {
167167 let buffer = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
168- bencher. bench_local ( | | {
168+ bencher. with_inputs ( || & buffer ) . bench_refs ( |buffer | {
169169 divan:: black_box ( buffer. 0 . count_set_bits ( ) ) ;
170170 } ) ;
171171}
@@ -185,15 +185,11 @@ fn bitwise_and_vortex_buffer(bencher: Bencher, length: usize) {
185185
186186#[ divan:: bench( args = INPUT_SIZE ) ]
187187fn bitwise_and_arrow_buffer ( bencher : Bencher , length : usize ) {
188- bencher
189- . with_inputs ( || {
190- let a = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
191- let b = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 3 == 0 ) ) ) ;
192- ( a, b)
193- } )
194- . bench_values ( |( a, b) | {
195- divan:: black_box ( & a. 0 & & b. 0 ) ;
196- } ) ;
188+ let a = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
189+ 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+ } ) ;
197193}
198194
199195#[ divan:: bench( args = INPUT_SIZE ) ]
@@ -211,15 +207,11 @@ fn bitwise_or_vortex_buffer(bencher: Bencher, length: usize) {
211207
212208#[ divan:: bench( args = INPUT_SIZE ) ]
213209fn bitwise_or_arrow_buffer ( bencher : Bencher , length : usize ) {
214- bencher
215- . with_inputs ( || {
216- let a = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
217- let b = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 3 == 0 ) ) ) ;
218- ( a, b)
219- } )
220- . bench_values ( |( a, b) | {
221- divan:: black_box ( & a. 0 | & b. 0 ) ;
222- } ) ;
210+ let a = Arrow ( BooleanBuffer :: from_iter ( ( 0 ..length) . map ( |i| i % 2 == 0 ) ) ) ;
211+ 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+ } ) ;
223215}
224216
225217#[ divan:: bench( args = INPUT_SIZE ) ]
0 commit comments