@@ -53,10 +53,9 @@ fn into_canonical_non_nullable(
5353 make_array ( & mut rng, chunk_len, fraction_patched, 0.0 ) . vortex_expect ( "make_array works" )
5454 } )
5555 . collect :: < Vec < _ > > ( ) ;
56- let chunked = ChunkedArray :: from_iter ( chunks) . into_array ( ) ;
5756
5857 bencher
59- . with_inputs ( || & chunked )
58+ . with_inputs ( || ChunkedArray :: from_iter ( chunks . clone ( ) ) . into_array ( ) )
6059 . bench_refs ( |chunked| chunked. to_canonical ( ) ) ;
6160}
6261
@@ -72,18 +71,22 @@ fn canonical_into_non_nullable(
7271 make_array ( & mut rng, chunk_len, fraction_patched, 0.0 ) . vortex_expect ( "make_array works" )
7372 } )
7473 . collect :: < Vec < _ > > ( ) ;
75- let chunked = ChunkedArray :: from_iter ( chunks) . into_array ( ) ;
76-
77- bencher. with_inputs ( || & chunked) . bench_refs ( |chunked| {
78- let mut primitive_builder = PrimitiveBuilder :: < i32 > :: with_capacity (
79- chunked. dtype ( ) . nullability ( ) ,
80- chunk_len * chunk_count,
81- ) ;
82- chunked
83- . append_to_builder ( & mut primitive_builder, & mut SESSION . create_execution_ctx ( ) )
84- . vortex_expect ( "append failed" ) ;
85- primitive_builder. finish ( )
86- } ) ;
74+
75+ bencher
76+ . with_inputs ( || {
77+ let chunked = ChunkedArray :: from_iter ( chunks. clone ( ) ) . into_array ( ) ;
78+ let primitive_builder = PrimitiveBuilder :: < i32 > :: with_capacity (
79+ chunked. dtype ( ) . nullability ( ) ,
80+ chunk_len * chunk_count,
81+ ) ;
82+ ( chunked, primitive_builder)
83+ } )
84+ . bench_refs ( |( chunked, primitive_builder) | {
85+ chunked
86+ . append_to_builder ( primitive_builder, & mut SESSION . create_execution_ctx ( ) )
87+ . vortex_expect ( "append failed" ) ;
88+ primitive_builder. finish ( )
89+ } ) ;
8790}
8891
8992const NULLABLE_BENCH_ARGS : & [ ( usize , usize , f64 ) ] = & [
@@ -109,10 +112,9 @@ fn into_canonical_nullable(
109112 . vortex_expect ( "make_array works" )
110113 } )
111114 . collect :: < Vec < _ > > ( ) ;
112- let chunked = ChunkedArray :: from_iter ( chunks) . into_array ( ) ;
113115
114116 bencher
115- . with_inputs ( || chunked . clone ( ) )
117+ . with_inputs ( || ChunkedArray :: from_iter ( chunks . clone ( ) ) . into_array ( ) )
116118 . bench_values ( |chunked| chunked. execute :: < Canonical > ( & mut SESSION . create_execution_ctx ( ) ) ) ;
117119}
118120
@@ -129,16 +131,20 @@ fn canonical_into_nullable(
129131 . vortex_expect ( "make_array works" )
130132 } )
131133 . collect :: < Vec < _ > > ( ) ;
132- let chunked = ChunkedArray :: from_iter ( chunks) . into_array ( ) ;
133-
134- bencher. with_inputs ( || & chunked) . bench_refs ( |chunked| {
135- let mut primitive_builder = PrimitiveBuilder :: < i32 > :: with_capacity (
136- chunked. dtype ( ) . nullability ( ) ,
137- chunk_len * chunk_count,
138- ) ;
139- chunked
140- . append_to_builder ( & mut primitive_builder, & mut SESSION . create_execution_ctx ( ) )
141- . vortex_expect ( "append failed" ) ;
142- primitive_builder. finish ( )
143- } ) ;
134+
135+ bencher
136+ . with_inputs ( || {
137+ let chunked = ChunkedArray :: from_iter ( chunks. clone ( ) ) . into_array ( ) ;
138+ let primitive_builder = PrimitiveBuilder :: < i32 > :: with_capacity (
139+ chunked. dtype ( ) . nullability ( ) ,
140+ chunk_len * chunk_count,
141+ ) ;
142+ ( chunked, primitive_builder)
143+ } )
144+ . bench_refs ( |( chunked, primitive_builder) | {
145+ chunked
146+ . append_to_builder ( primitive_builder, & mut SESSION . create_execution_ctx ( ) )
147+ . vortex_expect ( "append failed" ) ;
148+ primitive_builder. finish ( )
149+ } ) ;
144150}
0 commit comments