From 593adb8a9f40ff895b27962be0fb0a340c7cdb89 Mon Sep 17 00:00:00 2001 From: wiedld Date: Tue, 1 Oct 2024 13:05:34 -0700 Subject: [PATCH] chore: benchmark both scenarios, with records skipped and without skipped, for the delta-bin-packed primitive arrays --- parquet/benches/arrow_reader.rs | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/parquet/benches/arrow_reader.rs b/parquet/benches/arrow_reader.rs index 18e16f0a4297..a26439a7fe0b 100644 --- a/parquet/benches/arrow_reader.rs +++ b/parquet/benches/arrow_reader.rs @@ -910,6 +910,23 @@ fn bench_primitive( assert_eq!(count, EXPECTED_VALUE_COUNT); }); + // binary packed, half NULLs + let data = build_encoded_primitive_page_iterator::( + optional_column_desc.clone(), + 0.5, + Encoding::DELTA_BINARY_PACKED, + min, + max, + ); + group.bench_function("binary packed, optional, half NULLs", |b| { + b.iter(|| { + let array_reader = + create_primitive_array_reader(data.clone(), optional_column_desc.clone()); + count = bench_array_reader(array_reader); + }); + assert_eq!(count, EXPECTED_VALUE_COUNT); + }); + // binary packed skip , no NULLs let data = build_encoded_primitive_page_iterator::( mandatory_column_desc.clone(), @@ -943,7 +960,7 @@ fn bench_primitive( assert_eq!(count, EXPECTED_VALUE_COUNT); }); - // binary packed, half NULLs + // binary packed skip, half NULLs let data = build_encoded_primitive_page_iterator::( optional_column_desc.clone(), 0.5, @@ -951,11 +968,11 @@ fn bench_primitive( min, max, ); - group.bench_function("binary packed, optional, half NULLs", |b| { + group.bench_function("binary packed skip, optional, half NULLs", |b| { b.iter(|| { let array_reader = create_primitive_array_reader(data.clone(), optional_column_desc.clone()); - count = bench_array_reader(array_reader); + count = bench_array_reader_skip(array_reader); }); assert_eq!(count, EXPECTED_VALUE_COUNT); });