@@ -214,6 +214,32 @@ fn add_benchmark(c: &mut Criterion) {
214
214
c. bench_function ( "filter single record batch" , |b| {
215
215
b. iter ( || filter_record_batch ( & batch, & filter_array) )
216
216
} ) ;
217
+
218
+ let data_array = create_string_view_array_with_len ( size, 0.5 , 4 , false ) ;
219
+ c. bench_function ( "filter context short string view (kept 1/2)" , |b| {
220
+ b. iter ( || bench_built_filter ( & filter, & data_array) )
221
+ } ) ;
222
+ c. bench_function (
223
+ "filter context short string view high selectivity (kept 1023/1024)" ,
224
+ |b| b. iter ( || bench_built_filter ( & dense_filter, & data_array) ) ,
225
+ ) ;
226
+ c. bench_function (
227
+ "filter context short string view low selectivity (kept 1/1024)" ,
228
+ |b| b. iter ( || bench_built_filter ( & sparse_filter, & data_array) ) ,
229
+ ) ;
230
+
231
+ let data_array = create_string_view_array_with_len ( size, 0.5 , 4 , true ) ;
232
+ c. bench_function ( "filter context mixed string view (kept 1/2)" , |b| {
233
+ b. iter ( || bench_built_filter ( & filter, & data_array) )
234
+ } ) ;
235
+ c. bench_function (
236
+ "filter context mixed string view high selectivity (kept 1023/1024)" ,
237
+ |b| b. iter ( || bench_built_filter ( & dense_filter, & data_array) ) ,
238
+ ) ;
239
+ c. bench_function (
240
+ "filter context mixed string view low selectivity (kept 1/1024)" ,
241
+ |b| b. iter ( || bench_built_filter ( & sparse_filter, & data_array) ) ,
242
+ ) ;
217
243
}
218
244
219
245
criterion_group ! ( benches, add_benchmark) ;
0 commit comments