11use  criterion:: { 
2-     black_box,  criterion_group,  criterion_main,  AxisScale ,  BatchSize ,  Criterion , 
3-     ParameterizedBenchmark ,  PlotConfiguration , 
2+     black_box,  criterion_group,  criterion_main,  AxisScale ,  BatchSize ,  Criterion ,  PlotConfiguration , 
43} ; 
54use  ndarray:: prelude:: * ; 
65use  ndarray_stats:: Sort1dExt ; 
76use  rand:: prelude:: * ; 
87
98fn  get_from_sorted_mut ( c :  & mut  Criterion )  { 
109    let  lens = vec ! [ 10 ,  100 ,  1000 ,  10000 ] ; 
11-     let  benchmark = ParameterizedBenchmark :: new ( 
12-         "get_from_sorted_mut" , 
13-         |bencher,  & len| { 
10+     let  mut  group = c. benchmark_group ( "get_from_sorted_mut" ) ; 
11+     group. plot_config ( PlotConfiguration :: default ( ) . summary_scale ( AxisScale :: Logarithmic ) ) ; 
12+     for  len in  & lens { 
13+         group. bench_with_input ( format ! ( "{}" ,  len) ,  len,  |b,  & len| { 
1414            let  mut  rng = StdRng :: seed_from_u64 ( 42 ) ; 
1515            let  mut  data:  Vec < _ >  = ( 0 ..len) . collect ( ) ; 
1616            data. shuffle ( & mut  rng) ; 
1717            let  indices:  Vec < _ >  = ( 0 ..len) . step_by ( len / 10 ) . collect ( ) ; 
18-             bencher . iter_batched ( 
18+             b . iter_batched ( 
1919                || Array1 :: from ( data. clone ( ) ) , 
2020                |mut  arr| { 
2121                    for  & i in  & indices { 
@@ -24,34 +24,31 @@ fn get_from_sorted_mut(c: &mut Criterion) {
2424                } , 
2525                BatchSize :: SmallInput , 
2626            ) 
27-         } , 
28-         lens, 
29-     ) 
30-     . plot_config ( PlotConfiguration :: default ( ) . summary_scale ( AxisScale :: Logarithmic ) ) ; 
31-     c. bench ( "get_from_sorted_mut" ,  benchmark) ; 
27+         } ) ; 
28+     } 
29+     group. finish ( ) ; 
3230} 
3331
3432fn  get_many_from_sorted_mut ( c :  & mut  Criterion )  { 
3533    let  lens = vec ! [ 10 ,  100 ,  1000 ,  10000 ] ; 
36-     let  benchmark = ParameterizedBenchmark :: new ( 
37-         "get_many_from_sorted_mut" , 
38-         |bencher,  & len| { 
34+     let  mut  group = c. benchmark_group ( "get_many_from_sorted_mut" ) ; 
35+     group. plot_config ( PlotConfiguration :: default ( ) . summary_scale ( AxisScale :: Logarithmic ) ) ; 
36+     for  len in  & lens { 
37+         group. bench_with_input ( format ! ( "{}" ,  len) ,  len,  |b,  & len| { 
3938            let  mut  rng = StdRng :: seed_from_u64 ( 42 ) ; 
4039            let  mut  data:  Vec < _ >  = ( 0 ..len) . collect ( ) ; 
4140            data. shuffle ( & mut  rng) ; 
4241            let  indices:  Array1 < _ >  = ( 0 ..len) . step_by ( len / 10 ) . collect ( ) ; 
43-             bencher . iter_batched ( 
42+             b . iter_batched ( 
4443                || Array1 :: from ( data. clone ( ) ) , 
4544                |mut  arr| { 
4645                    black_box ( arr. get_many_from_sorted_mut ( & indices) ) ; 
4746                } , 
4847                BatchSize :: SmallInput , 
4948            ) 
50-         } , 
51-         lens, 
52-     ) 
53-     . plot_config ( PlotConfiguration :: default ( ) . summary_scale ( AxisScale :: Logarithmic ) ) ; 
54-     c. bench ( "get_many_from_sorted_mut" ,  benchmark) ; 
49+         } ) ; 
50+     } 
51+     group. finish ( ) ; 
5552} 
5653
5754criterion_group !  { 
0 commit comments