@@ -56,5 +56,47 @@ fn svd_small(c: &mut Criterion) {
5656 }
5757}
5858
59- criterion_group ! ( svd, svd_small) ;
59+ fn svddc_small ( c : & mut Criterion ) {
60+ let mut group = c. benchmark_group ( "svddc" ) ;
61+ for & n in & [ 4 , 8 , 16 , 32 , 64 , 128 ] {
62+ group. bench_with_input ( BenchmarkId :: new ( "C" , n) , & n, |b, n| {
63+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
64+ b. iter ( || {
65+ let _ = a. svddc ( UVTFlag :: None ) . unwrap ( ) ;
66+ } )
67+ } ) ;
68+ group. bench_with_input ( BenchmarkId :: new ( "F" , n) , & n, |b, n| {
69+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
70+ b. iter ( || {
71+ let _ = a. svddc ( UVTFlag :: None ) . unwrap ( ) ;
72+ } )
73+ } ) ;
74+ group. bench_with_input ( BenchmarkId :: new ( "some/C" , n) , & n, |b, n| {
75+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
76+ b. iter ( || {
77+ let _ = a. svddc ( UVTFlag :: Some ) . unwrap ( ) ;
78+ } )
79+ } ) ;
80+ group. bench_with_input ( BenchmarkId :: new ( "some/F" , n) , & n, |b, n| {
81+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
82+ b. iter ( || {
83+ let _ = a. svddc ( UVTFlag :: Some ) . unwrap ( ) ;
84+ } )
85+ } ) ;
86+ group. bench_with_input ( BenchmarkId :: new ( "full/C" , n) , & n, |b, n| {
87+ let a: Array2 < f64 > = random ( ( * n, * n) ) ;
88+ b. iter ( || {
89+ let _ = a. svddc ( UVTFlag :: Full ) . unwrap ( ) ;
90+ } )
91+ } ) ;
92+ group. bench_with_input ( BenchmarkId :: new ( "full/F" , n) , & n, |b, n| {
93+ let a: Array2 < f64 > = random ( ( * n, * n) . f ( ) ) ;
94+ b. iter ( || {
95+ let _ = a. svddc ( UVTFlag :: Full ) . unwrap ( ) ;
96+ } )
97+ } ) ;
98+ }
99+ }
100+
101+ criterion_group ! ( svd, svd_small, svddc_small) ;
60102criterion_main ! ( svd) ;
0 commit comments