@@ -28,10 +28,10 @@ fn main() {
2828
2929#[ divan:: bench]
3030fn take_10_stratified ( bencher : Bencher ) {
31- let values = fixture ( 1_000_000 , 8 ) ;
31+ let values = fixture ( 65_536 , 8 ) ;
3232 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
3333 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
34- let indices = PrimitiveArray :: from_iter ( ( 0 ..10 ) . map ( |i| i * 10_000 ) ) ;
34+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10 ) . map ( |i| i * 6_553 ) ) ;
3535
3636 bencher
3737 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
@@ -46,7 +46,7 @@ fn take_10_stratified(bencher: Bencher) {
4646
4747#[ divan:: bench]
4848fn take_10_contiguous ( bencher : Bencher ) {
49- let values = fixture ( 1_000_000 , 8 ) ;
49+ let values = fixture ( 65_536 , 8 ) ;
5050 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
5151 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
5252 let indices = buffer ! [ 0 ..10 ] . into_array ( ) ;
@@ -64,7 +64,7 @@ fn take_10_contiguous(bencher: Bencher) {
6464
6565#[ divan:: bench]
6666fn take_10k_random ( bencher : Bencher ) {
67- let values = fixture ( 1_000_000 , 8 ) ;
67+ let values = fixture ( 65_536 , 8 ) ;
6868 let range = Uniform :: new ( 0 , values. len ( ) ) . unwrap ( ) ;
6969 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
7070 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
@@ -85,7 +85,7 @@ fn take_10k_random(bencher: Bencher) {
8585
8686#[ divan:: bench]
8787fn take_10k_contiguous ( bencher : Bencher ) {
88- let values = fixture ( 1_000_000 , 8 ) ;
88+ let values = fixture ( 65_536 , 8 ) ;
8989 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
9090 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
9191 let indices = PrimitiveArray :: from_iter ( 0 ..10_000 ) ;
@@ -102,11 +102,11 @@ fn take_10k_contiguous(bencher: Bencher) {
102102}
103103
104104#[ divan:: bench]
105- fn take_200k_dispersed ( bencher : Bencher ) {
106- let values = fixture ( 1_000_000 , 8 ) ;
105+ fn take_10k_dispersed ( bencher : Bencher ) {
106+ let values = fixture ( 65_536 , 8 ) ;
107107 let uncompressed = PrimitiveArray :: new ( values. clone ( ) , Validity :: NonNullable ) ;
108108 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
109- let indices = PrimitiveArray :: from_iter ( ( 0 ..200_000 ) . map ( |i| ( i * 42 ) % values. len ( ) as u64 ) ) ;
109+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10_000 ) . map ( |i| ( i * 42 ) % values. len ( ) as u64 ) ) ;
110110
111111 bencher
112112 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
@@ -120,11 +120,11 @@ fn take_200k_dispersed(bencher: Bencher) {
120120}
121121
122122#[ divan:: bench]
123- fn take_200k_first_chunk_only ( bencher : Bencher ) {
124- let values = fixture ( 1_000_000 , 8 ) ;
123+ fn take_10k_first_chunk_only ( bencher : Bencher ) {
124+ let values = fixture ( 65_536 , 8 ) ;
125125 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
126126 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
127- let indices = PrimitiveArray :: from_iter ( ( 0 ..200_000 ) . map ( |i| ( ( i * 42 ) % 1024 ) as u64 ) ) ;
127+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10_000 ) . map ( |i| ( ( i * 42 ) % 1024 ) as u64 ) ) ;
128128
129129 bencher
130130 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
@@ -154,8 +154,8 @@ fn fixture(len: usize, bits: usize) -> Buffer<u32> {
154154// I've iterated on both thresholds (1) and (2) using this collection of benchmarks, and those
155155// were roughly the best values that I found.
156156
157- const BIG_BASE2 : u32 = 1048576 ;
158- const NUM_EXCEPTIONS : u32 = 10000 ;
157+ const BIG_BASE2 : u32 = 65536 ;
158+ const NUM_EXCEPTIONS : u32 = 1024 ;
159159
160160#[ divan:: bench]
161161fn patched_take_10_stratified ( bencher : Bencher ) {
@@ -169,7 +169,7 @@ fn patched_take_10_stratified(bencher: Bencher) {
169169 NUM_EXCEPTIONS as usize
170170 ) ;
171171
172- let indices = PrimitiveArray :: from_iter ( ( 0 ..10 ) . map ( |i| i * 10_000 ) ) ;
172+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10 ) . map ( |i| i * 6_653 ) ) ;
173173
174174 bencher
175175 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
@@ -273,11 +273,11 @@ fn patched_take_10k_contiguous_patches(bencher: Bencher) {
273273}
274274
275275#[ divan:: bench]
276- fn patched_take_200k_dispersed ( bencher : Bencher ) {
276+ fn patched_take_10k_dispersed ( bencher : Bencher ) {
277277 let values = ( 0u32 ..BIG_BASE2 + NUM_EXCEPTIONS ) . collect :: < Buffer < u32 > > ( ) ;
278278 let uncompressed = PrimitiveArray :: new ( values. clone ( ) , Validity :: NonNullable ) ;
279279 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
280- let indices = PrimitiveArray :: from_iter ( ( 0 ..200_000 ) . map ( |i| ( i * 42 ) % values. len ( ) as u64 ) ) ;
280+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10_000 ) . map ( |i| ( i * 42 ) % values. len ( ) as u64 ) ) ;
281281
282282 bencher
283283 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
@@ -291,11 +291,11 @@ fn patched_take_200k_dispersed(bencher: Bencher) {
291291}
292292
293293#[ divan:: bench]
294- fn patched_take_200k_first_chunk_only ( bencher : Bencher ) {
294+ fn patched_take_10k_first_chunk_only ( bencher : Bencher ) {
295295 let values = ( 0u32 ..BIG_BASE2 + NUM_EXCEPTIONS ) . collect :: < Buffer < u32 > > ( ) ;
296296 let uncompressed = PrimitiveArray :: new ( values, Validity :: NonNullable ) ;
297297 let packed = bitpack_to_best_bit_width ( & uncompressed) . unwrap ( ) ;
298- let indices = PrimitiveArray :: from_iter ( ( 0 ..200_000 ) . map ( |i| ( ( i * 42 ) % 1024 ) as u64 ) ) ;
298+ let indices = PrimitiveArray :: from_iter ( ( 0 ..10_000 ) . map ( |i| ( ( i * 42 ) % 1024 ) as u64 ) ) ;
299299
300300 bencher
301301 . with_inputs ( || ( & packed, & indices, LEGACY_SESSION . create_execution_ctx ( ) ) )
0 commit comments