@@ -8,7 +8,7 @@ static A: System = System;
88use criterion:: { criterion_group, criterion_main, Bencher , Criterion } ;
99use std:: { borrow:: Cow , clone:: Clone , fmt:: Debug , net:: IpAddr } ;
1010use wirefilter:: {
11- ExecutionContext , FilterAst , FunctionArgKind , FunctionArgs , GetType , LhsValue , Scheme ,
11+ ExecutionContext , FilterAst , FunctionArgKind , FunctionArgs , GetType , LhsValue , SchemeBuilder ,
1212 SimpleFunctionDefinition , SimpleFunctionImpl , SimpleFunctionParam , Type ,
1313} ;
1414
@@ -79,11 +79,12 @@ impl<T: 'static + Copy + Debug + Into<LhsValue<'static>>> FieldBench<'_, T> {
7979 let mut group = c. benchmark_group ( "parsing" ) ;
8080
8181 group. bench_function ( name, {
82- let mut scheme = Scheme :: default ( ) ;
83- scheme . add_field ( field, ty) . unwrap ( ) ;
82+ let mut builder = SchemeBuilder :: default ( ) ;
83+ builder . add_field ( field, ty) . unwrap ( ) ;
8484 for ( name, function) in functions {
85- scheme . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
85+ builder . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
8686 }
87+ let scheme = builder. build ( ) ;
8788 move |b : & mut Bencher | {
8889 b. iter ( || scheme. parse ( filter) . unwrap ( ) ) ;
8990 }
@@ -94,11 +95,12 @@ impl<T: 'static + Copy + Debug + Into<LhsValue<'static>>> FieldBench<'_, T> {
9495 let mut group = c. benchmark_group ( "compilation" ) ;
9596
9697 group. bench_function ( name, {
97- let mut scheme = Scheme :: default ( ) ;
98- scheme . add_field ( field, ty) . unwrap ( ) ;
98+ let mut builder = SchemeBuilder :: default ( ) ;
99+ builder . add_field ( field, ty) . unwrap ( ) ;
99100 for ( name, function) in functions {
100- scheme . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
101+ builder . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
101102 }
103+ let scheme = builder. build ( ) ;
102104 move |b : & mut Bencher | {
103105 let filter = scheme. parse ( filter) . unwrap ( ) ;
104106
@@ -111,11 +113,12 @@ impl<T: 'static + Copy + Debug + Into<LhsValue<'static>>> FieldBench<'_, T> {
111113 let mut group = c. benchmark_group ( "execution" ) ;
112114
113115 group. bench_with_input ( name, values, {
114- let mut scheme = Scheme :: default ( ) ;
115- scheme . add_field ( field, ty) . unwrap ( ) ;
116+ let mut builder = SchemeBuilder :: default ( ) ;
117+ builder . add_field ( field, ty) . unwrap ( ) ;
116118 for ( name, function) in functions {
117- scheme . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
119+ builder . add_function ( name, function. clone ( ) ) . unwrap ( ) ;
118120 }
121+ let scheme = builder. build ( ) ;
119122 move |b : & mut Bencher , values : & [ T ] | {
120123 let filter = scheme. parse ( filter) . unwrap ( ) ;
121124
0 commit comments