@@ -21,7 +21,7 @@ use std::sync::Arc;
2121use parquet:: basic:: { Encoding , PageType , Type as PhysicalType } ;
2222use parquet:: file:: metadata:: {
2323 ColumnChunkMetaData , FileMetaData , PageEncodingStats , ParquetMetaData , ParquetMetaDataOptions ,
24- ParquetMetaDataReader , ParquetMetaDataWriter , ParquetStatisticsPolicy , RowGroupMetaData ,
24+ ParquetMetaDataReader , ParquetMetaDataWriter , RowGroupMetaData ,
2525} ;
2626use parquet:: file:: statistics:: Statistics ;
2727use parquet:: file:: writer:: TrackedWrite ;
@@ -158,67 +158,42 @@ fn criterion_benchmark(c: &mut Criterion) {
158158 } ) ;
159159
160160 let meta_data = get_footer_bytes ( data. clone ( ) ) ;
161+ let options = ParquetMetaDataOptions :: new ( ) . with_encoding_stats_as_mask ( false ) ;
161162 c. bench_function ( "decode parquet metadata" , |b| {
162- b. iter ( || {
163- ParquetMetaDataReader :: decode_metadata ( & meta_data) . unwrap ( ) ;
164- } )
165- } ) ;
166-
167- let schema = ParquetMetaDataReader :: decode_schema ( & meta_data) . unwrap ( ) ;
168- let options = ParquetMetaDataOptions :: new ( ) . with_schema ( schema) ;
169- c. bench_function ( "decode metadata with schema" , |b| {
170163 b. iter ( || {
171164 ParquetMetaDataReader :: decode_metadata_with_options ( & meta_data, Some ( & options) )
172165 . unwrap ( ) ;
173166 } )
174167 } ) ;
175168
176- let options = ParquetMetaDataOptions :: new ( ) . with_encoding_stats_as_mask ( true ) ;
177- c. bench_function ( "decode metadata with stats mask" , |b| {
178- b. iter ( || {
179- ParquetMetaDataReader :: decode_metadata_with_options ( & meta_data, Some ( & options) )
180- . unwrap ( ) ;
181- } )
182- } ) ;
183-
184- let options =
185- ParquetMetaDataOptions :: new ( ) . with_encoding_stats_policy ( ParquetStatisticsPolicy :: SkipAll ) ;
186- c. bench_function ( "decode metadata with skip PES" , |b| {
169+ let schema = ParquetMetaDataReader :: decode_schema ( & meta_data) . unwrap ( ) ;
170+ let options = ParquetMetaDataOptions :: new ( )
171+ . with_schema ( schema)
172+ . with_encoding_stats_as_mask ( false ) ;
173+ c. bench_function ( "decode metadata with schema" , |b| {
187174 b. iter ( || {
188175 ParquetMetaDataReader :: decode_metadata_with_options ( & meta_data, Some ( & options) )
189176 . unwrap ( ) ;
190177 } )
191178 } ) ;
192179
193180 let buf: Bytes = black_box ( encoded_meta ( ) ) . into ( ) ;
181+ let options = ParquetMetaDataOptions :: new ( ) . with_encoding_stats_as_mask ( false ) ;
194182 c. bench_function ( "decode parquet metadata (wide)" , |b| {
195183 b. iter ( || {
196- ParquetMetaDataReader :: decode_metadata ( & buf) . unwrap ( ) ;
184+ ParquetMetaDataReader :: decode_metadata_with_options ( & buf, Some ( & options ) ) . unwrap ( ) ;
197185 } )
198186 } ) ;
199187
200188 let schema = ParquetMetaDataReader :: decode_schema ( & buf) . unwrap ( ) ;
201- let options = ParquetMetaDataOptions :: new ( ) . with_schema ( schema) ;
189+ let options = ParquetMetaDataOptions :: new ( )
190+ . with_schema ( schema)
191+ . with_encoding_stats_as_mask ( false ) ;
202192 c. bench_function ( "decode metadata (wide) with schema" , |b| {
203193 b. iter ( || {
204194 ParquetMetaDataReader :: decode_metadata_with_options ( & buf, Some ( & options) ) . unwrap ( ) ;
205195 } )
206196 } ) ;
207-
208- let options = ParquetMetaDataOptions :: new ( ) . with_encoding_stats_as_mask ( true ) ;
209- c. bench_function ( "decode metadata (wide) with stats mask" , |b| {
210- b. iter ( || {
211- ParquetMetaDataReader :: decode_metadata_with_options ( & buf, Some ( & options) ) . unwrap ( ) ;
212- } )
213- } ) ;
214-
215- let options =
216- ParquetMetaDataOptions :: new ( ) . with_encoding_stats_policy ( ParquetStatisticsPolicy :: SkipAll ) ;
217- c. bench_function ( "decode metadata (wide) with skip PES" , |b| {
218- b. iter ( || {
219- ParquetMetaDataReader :: decode_metadata_with_options ( & buf, Some ( & options) ) . unwrap ( ) ;
220- } )
221- } ) ;
222197}
223198
224199criterion_group ! ( benches, criterion_benchmark) ;
0 commit comments